From 6ef6757e4626c1dc83fd53364d228640eed16720 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 29 Jul 2015 03:37:24 +0000 Subject: [PATCH] internal.h: fix LIKELY * internal.h (LIKELY, UNLIKELY): inverted conditions generate wrong code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- internal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal.h b/internal.h index a9b3ee4824..06f61d85fe 100644 --- a/internal.h +++ b/internal.h @@ -25,8 +25,8 @@ extern "C" { /* likely */ #if __GNUC__ >= 3 -#define LIKELY(x) (__builtin_expect(!(x), 0)) -#define UNLIKELY(x) (__builtin_expect(!(x), 1)) +#define LIKELY(x) (__builtin_expect(!!(x), 1)) +#define UNLIKELY(x) (__builtin_expect(!!(x), 0)) #else /* __GNUC__ >= 3 */ #define LIKELY(x) (x) #define UNLIKELY(x) (x)