diff --git a/src/serverassert.h b/src/serverassert.h index d8c3dd425..08f97e574 100644 --- a/src/serverassert.h +++ b/src/serverassert.h @@ -38,7 +38,20 @@ #ifndef VALKEY_ASSERT_H #define VALKEY_ASSERT_H -#include "config.h" +/* This file shouldn't have any dependencies to any other Valkey code. */ + +#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +#define valkey_unreachable __builtin_unreachable +#else +#include +#define valkey_unreachable abort +#endif + +#if __GNUC__ >= 3 +#define likely(x) __builtin_expect(!!(x), 1) +#else +#define likely(x) (x) +#endif #define assert(_e) (likely((_e))?(void)0 : (_serverAssert(#_e,__FILE__,__LINE__),valkey_unreachable())) #define panic(...) _serverPanic(__FILE__,__LINE__,__VA_ARGS__),valkey_unreachable()