[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] minios: Fix incorrect {, un}likely() definitions
As identified in e5545fb6, likely() and unlikely() must convert their expressions to booleans before comparing to 1 or 0, to avoid truncation issues. While editing this file, add inclusion guards. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> --- extras/mini-os/include/compiler.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/extras/mini-os/include/compiler.h b/extras/mini-os/include/compiler.h index e35c9d5..4188277 100644 --- a/extras/mini-os/include/compiler.h +++ b/extras/mini-os/include/compiler.h @@ -1,5 +1,10 @@ +#ifndef __MINIOS_COMPILER_H_ +#define __MINIOS_COMPILER_H_ + #if __GNUC__ == 2 && __GNUC_MINOR__ < 96 #define __builtin_expect(x, expected_value) (x) #endif -#define unlikely(x) __builtin_expect((x),0) -#define likely(x) __builtin_expect((x),1) +#define unlikely(x) __builtin_expect(!!(x),0) +#define likely(x) __builtin_expect(!!(x),1) + +#endif /* __MINIOS_COMPILER_H_ */ -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |