From: Albert Cahalan 1. allows likely() and unlikely() to work for pointers 2. fixes likely() (in C, any non-zero value is true) 25-akpm/include/linux/compiler.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/compiler.h~likely-unlikely-fix include/linux/compiler.h --- 25/include/linux/compiler.h~likely-unlikely-fix Mon Aug 11 11:53:35 2003 +++ 25-akpm/include/linux/compiler.h Mon Aug 11 11:53:35 2003 @@ -24,8 +24,8 @@ #define __builtin_expect(x, expected_value) (x) #endif -#define likely(x) __builtin_expect((x),1) -#define unlikely(x) __builtin_expect((x),0) +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) /* * Allow us to mark functions as 'deprecated' and have gcc emit a nice _