From 56376e5a6f5b0ab2b646711871fa975dcfd0dc97 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Sun, 28 Dec 2025 04:42:53 -0500 Subject: fix ASSUME() not being defined in release builds --- wrmr.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wrmr.h b/wrmr.h index 35776a3..3e80598 100644 --- a/wrmr.h +++ b/wrmr.h @@ -76,14 +76,15 @@ typedef uintptr_t uptr; #define UNREACHABLE UNREACHABLE_MSG("unreachable code") +#define ASSUME(...) do if (!(__VA_ARGS__)) UNREACHABLE_MSG("assumption failed: " #__VA_ARGS__); while(0) #ifdef NDEBUG # if defined(_MSC_VER) +# undef ASSUME # define ASSUME(...) (__assume(__VA_ARGS__)) # elif HAS_BUILTIN(__builtin_assume) +# undef ASSUME # define ASSUME(...) (__builtin_assume(__VA_ARGS__)) # endif -#else -# define ASSUME(...) do if (!(__VA_ARGS__)) UNREACHABLE_MSG("assumption failed: " #__VA_ARGS__); while(0) #endif #if __STDC_VERSION__ >= 202311L -- cgit v1.2.3