From c0f8ecd6f2546780a1314557bf0b3be29c497a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Wed, 27 Jul 2022 21:40:42 +0300 Subject: [PATCH] mdbx: add `expect_with_probability()` macro. --- src/base.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/base.h b/src/base.h index a40b34fd..9e2778ae 100644 --- a/src/base.h +++ b/src/base.h @@ -645,6 +645,16 @@ __extern_C key_t ftok(const char *, int); #endif #endif /* __anonymous_struct_extension__ */ +#ifndef expect_with_probability +#if defined(__builtin_expect_with_probability) || \ + __has_builtin(__builtin_expect_with_probability) || __GNUC_PREREQ(9, 0) +#define expect_with_probability(expr, value, prob) \ + __builtin_expect_with_probability(expr, value, prob) +#else +#define expect_with_probability(expr, value, prob) (expr) +#endif +#endif /* expect_with_probability */ + /*----------------------------------------------------------------------------*/ #if defined(MDBX_USE_VALGRIND)