From c6560ab7f5e1cd7fd0373a324280da70db093fad Mon Sep 17 00:00:00 2001 From: Abdelrahman Said Date: Mon, 15 Dec 2025 19:54:04 +0000 Subject: [PATCH] Add windows pragma to slience warning in runtime assert --- src/common/assert/assert.h | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/common/assert/assert.h b/src/common/assert/assert.h index 55733b3..67d7dbd 100644 --- a/src/common/assert/assert.h +++ b/src/common/assert/assert.h @@ -27,16 +27,31 @@ BEGIN_C_LINKAGE #define wapp_debug_assert(EXPR, MSG) #endif -#define __wapp_runtime_assert(EXPR, MSG) do { \ - if (!(EXPR)) { \ - fprintf( \ - stderr, \ - "%s:%d (In function `%s`): Assertion failed (%" PRIu32 ")\nDiagnostic: %s\n\n", \ - __FILE__, __LINE__, __func__, \ - EXPR, MSG \ - ); \ - abort(); \ - } \ +#ifdef WAPP_PLATFORM_WINDOWS +#define __wapp_runtime_assert(EXPR, MSG) do { \ + __pragma(warning(push)) \ + __pragma(warning(disable:4127)) \ + if (!(EXPR)) { \ + __pragma(warning(pop)) \ + __runtime_assert_failed(EXPR, MSG); \ + } \ +} while(false) +#else +#define __wapp_runtime_assert(EXPR, MSG) do { \ + if (!(EXPR)) { \ + __runtime_assert_failed(EXPR, MSG); \ + } \ +} while(false) +#endif // !WAPP_PLATFORM_WINDOWS + +#define __runtime_assert_failed(EXPR, MSG) do { \ + fprintf( \ + stderr, \ + "%s:%d (In function `%s`): Assertion failed (%" PRIu32 ")\nDiagnostic: %s\n\n", \ + __FILE__, __LINE__, __func__, \ + EXPR, MSG \ + ); \ + abort(); \ } while(false) #ifdef WAPP_PLATFORM_CPP