Found while looking at __ISO_C_VISIBLE.  I'm not sure which compilers
would be affected.  The fallback could simply be
 #define __predict_true(exp)    (exp)
 #define __predict_false(exp)   (exp)
but I settled for a minimal change.

ok?


Index: cdefs.h
===================================================================
RCS file: /d/cvs/src/sys/sys/cdefs.h,v
retrieving revision 1.43
diff -u -p -p -u -r1.43 cdefs.h
--- cdefs.h     29 Oct 2018 17:10:40 -0000      1.43
+++ cdefs.h     11 Feb 2020 18:27:18 -0000
@@ -193,7 +193,7 @@
 #define __predict_false(exp)   __builtin_expect(((exp) != 0), 0)
 #else
 #define __predict_true(exp)    ((exp) != 0)
-#define __predict_false(exp)   ((exp) != 0)
+#define __predict_false(exp)   ((exp) == 0)
 #endif
 
 /* Delete pseudo-keywords wherever they are not available or needed. */


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to