Simplify likely() implementation
authorBehdad Esfahbod <behdad@behdad.org>
Tue, 11 May 2010 03:50:07 +0000 (23:50 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Tue, 11 May 2010 03:50:07 +0000 (23:50 -0400)
Shrinks .text by 1%!

src/hb-private.h

index 8a323de..866ee59 100644 (file)
 
 
 #if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
-#define _HB_BOOLEAN_EXPR(expr) \
-  __extension__ ({ \
-     int _hb_boolean_var_; \
-     if (expr) \
-       _hb_boolean_var_ = 1; \
-     else \
-       _hb_boolean_var_ = 0; \
-     _hb_boolean_var_; \
-  })
+#define _HB_BOOLEAN_EXPR(expr) ((expr) ? 1 : 0)
 #define likely(expr) (__builtin_expect (_HB_BOOLEAN_EXPR(expr), 1))
 #define unlikely(expr) (__builtin_expect (_HB_BOOLEAN_EXPR(expr), 0))
 #else