Looks like the existing code is OK, you still want to test the original
expression even if you are predicting it is false, no?



On Tue, Feb 11, 2020 at 07:33:19PM +0100, Jeremie Courreges-Anglas wrote:
> 
> 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