From a7fd3c85718286b8513d15dbfd679fcf1ecad2b7 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Mon, 5 Jan 2026 19:15:50 -0500 Subject: add MOVE, COPY; fix ASSUME problem --- wrmr.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wrmr.h b/wrmr.h index 67523ec..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 @@ -93,5 +94,7 @@ typedef uintptr_t uptr; #endif #define COUNTOF(x) (sizeof(x) / sizeof(*(x))) +#define MOVE(a0, a1, n) memmove(1?(a0):(a1), a1, sizeof(*(a0)) * (n)); +#define COPY(a0, a1, n) memmove(1?(a0):(a1), a1, sizeof(*(a0)) * (n)); #endif -- cgit v1.2.3