From 09aa7b285f0c1214b7392d682f2f2cb36a66639f Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 11 May 2025 20:29:01 +0300 Subject: [PATCH] debug_assert --- src/h.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/h.h b/src/h.h index bb1642d1..3dadc971 100644 --- a/src/h.h +++ b/src/h.h @@ -304,7 +304,9 @@ typedef struct Arr { #if DEBUG NOINLINE NORETURN void assert_fail(char* expr, char* file, int line, const char fn[]); - #define assert(X) do {if (!(X)) assert_fail(#X, __FILE__, __LINE__, __PRETTY_FUNCTION__);} while(0) + #define assert_impl(M, X) do {if (!(X)) assert_fail(M, __FILE__, __LINE__, __PRETTY_FUNCTION__);} while(0) + #define assert(X) assert_impl(#X, X) + #define debug_assert(X) assert_impl(#X, X) B VALIDATE(B x); Value* VALIDATEP(Value* x); #define UD assert(false) @@ -315,6 +317,7 @@ typedef struct Arr { #define NOGC_E cbqn_noAlloc=false #else #define assert(X) do {if (!(X)) __builtin_unreachable();} while(0) + #define debug_assert(X) #define VALIDATE(X) (X) #define VALIDATEP(X) (X) #define UD __builtin_unreachable()