From b44fba25fbad89c105795a10a569fe422e4d1c44 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 6 Jan 2016 16:25:49 +0100 Subject: [PATCH] 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 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glib/gmacros.h b/glib/gmacros.h index 9b057ceb0..22edb2ef6 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)