Use G_LIKELY without surrounding parentheses in g_assert() and

* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
	in g_assert() and g_return_[val]_if_fail() so that we always trigger
	the gcc warning about "assignment used as truth value".

	* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
This commit is contained in:
Matthias Clasen 2002-11-27 18:50:34 +00:00
parent 3d91951830
commit 00a9d30b67
9 changed files with 64 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -1,3 +1,11 @@
2002-11-27 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Matthias Clasen <maclas@gmx.de> 2002-11-26 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.h: Only use G_LIKELY in g_assert() and * glib/gmessages.h: Only use G_LIKELY in g_assert() and

View File

@ -222,8 +222,8 @@
_g_boolean_var_ = 0; \ _g_boolean_var_ = 0; \
_g_boolean_var_; \ _g_boolean_var_; \
}) })
#define G_LIKELY(expr) __builtin_expect (_G_BOOLEAN_EXPR(expr), 1) #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
#define G_UNLIKELY(expr) __builtin_expect (_G_BOOLEAN_EXPR(expr), 0) #define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
#else #else
#define G_LIKELY(expr) (expr) #define G_LIKELY(expr) (expr)
#define G_UNLIKELY(expr) (expr) #define G_UNLIKELY(expr) (expr)

View File

@ -198,10 +198,10 @@ GPrintFunc g_set_printerr_handler (GPrintFunc func);
#else /* !G_DISABLE_ASSERT */ #else /* !G_DISABLE_ASSERT */
#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) #ifdef __GNUC__
#define g_assert(expr) G_STMT_START{ \ #define g_assert(expr) G_STMT_START{ \
if (!G_LIKELY (expr)) \ if G_LIKELY(expr) { } else \
g_log (G_LOG_DOMAIN, \ g_log (G_LOG_DOMAIN, \
G_LOG_LEVEL_ERROR, \ G_LOG_LEVEL_ERROR, \
"file %s: line %d (%s): assertion failed: (%s)", \ "file %s: line %d (%s): assertion failed: (%s)", \
@ -250,10 +250,10 @@ GPrintFunc g_set_printerr_handler (GPrintFunc func);
#else /* !G_DISABLE_CHECKS */ #else /* !G_DISABLE_CHECKS */
#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) #ifdef __GNUC__
#define g_return_if_fail(expr) G_STMT_START{ \ #define g_return_if_fail(expr) G_STMT_START{ \
if (!G_LIKELY (expr)) \ if G_LIKELY(expr) { } else \
{ \ { \
g_log (G_LOG_DOMAIN, \ g_log (G_LOG_DOMAIN, \
G_LOG_LEVEL_CRITICAL, \ G_LOG_LEVEL_CRITICAL, \
@ -266,7 +266,7 @@ GPrintFunc g_set_printerr_handler (GPrintFunc func);
}; }G_STMT_END }; }G_STMT_END
#define g_return_val_if_fail(expr,val) G_STMT_START{ \ #define g_return_val_if_fail(expr,val) G_STMT_START{ \
if (!G_LIKELY (expr)) \ if G_LIKELY(expr) { } else \
{ \ { \
g_log (G_LOG_DOMAIN, \ g_log (G_LOG_DOMAIN, \
G_LOG_LEVEL_CRITICAL, \ G_LOG_LEVEL_CRITICAL, \