summaryrefslogtreecommitdiff
path: root/wrmr.h
diff options
context:
space:
mode:
Diffstat (limited to 'wrmr.h')
-rw-r--r--wrmr.h5
1 files 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