[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] minios: fix incorrect {, un}likely() definitions



commit 7915fc1587eb61c64499d025e52ab1c665be44d7
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Wed Jul 2 14:46:42 2014 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jul 2 14:46:42 2014 +0200

    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>
    Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
 extras/mini-os/include/compiler.h |    9 +++++++--
 1 files 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_ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.