--- nono/lib/header.h 2026/04/29 17:05:08 1.1.1.15 +++ nono/lib/header.h 2026/04/29 17:05:12 1.1.1.16 @@ -11,9 +11,9 @@ #pragma once #define NONO_MAJOR_VER (0) -#define NONO_MINOR_VER (3) +#define NONO_MINOR_VER (4) #define NONO_PATCH_VER (0) -#define NONO_DATE "2022/04/30" +#define NONO_DATE "2022/06/18" #include "config-nono.h" #include @@ -79,15 +79,18 @@ using int64 = int64_t; #endif #endif -#if !defined(__predict_true) +// FreeBSD(12.1) の __predict_true/false は定義がいまいちで使えない。 +// __builtin_expect() があることが分かればどの環境でも自前で定義できるので +// 既存定義は取り消す。 #if defined(HAVE___BUILTIN_EXPECT) +# undef __predict_true +# undef __predict_false # define __predict_true(exp) __builtin_expect((exp) != 0, 1) # define __predict_false(exp) __builtin_expect((exp) != 0, 0) -#else +#elif !defined(__predict_true) # define __predict_true(exp) (exp) # define __predict_false(exp) (exp) #endif -#endif #if !defined(__unused) #if defined(HAVE___ATTRIBUTE_UNUSED)