[glib] G_LIKELY/_UNLIKELY macros need more parentheses



commit b44fba25fbad89c105795a10a569fe422e4d1c44
Author: Stephan Bergmann <sbergman redhat com>
Date:   Wed Jan 6 16:25:49 2016 +0100

    G_LIKELY/_UNLIKELY macros need more parentheses
    
    ...for cases like
    
      #include "glib.h"
      #define COMMA ,
      void f(void) { if (G_LIKELY(0 COMMA 1)); }
    
    https://bugzilla.gnome.org/show_bug.cgi?id=760215

 glib/gmacros.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/glib/gmacros.h b/glib/gmacros.h
index 9b057ce..22edb2e 100644
--- a/glib/gmacros.h
+++ b/glib/gmacros.h
@@ -354,8 +354,8 @@
       _g_boolean_var_ = 0;                      \
    _g_boolean_var_;                             \
 })
-#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
-#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
+#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR((expr)), 1))
+#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR((expr)), 0))
 #else
 #define G_LIKELY(expr) (expr)
 #define G_UNLIKELY(expr) (expr)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]