summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-06-09 17:44:41 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-06-09 17:44:41 -0600
commitdd8f8ebac1bb3c854b607f43f0e63e105e099dd0 (patch)
tree48174617ffe2a0c3061890d9b0cc92ee4f0ed6e5
parent966fd48cc8a6324f347a08a8c6057060e8b5dc75 (diff)
libmisc: assert.h: Disable -Wtype-limits inside of assert()
-rw-r--r--lib9p/core.c6
-rw-r--r--libmisc/include/libmisc/assert.h3
2 files changed, 3 insertions, 6 deletions
diff --git a/lib9p/core.c b/lib9p/core.c
index 58fe538..3843429 100644
--- a/lib9p/core.c
+++ b/lib9p/core.c
@@ -48,17 +48,11 @@ bool lib9p_str_eq(struct lib9p_s a, struct lib9p_s b) {
/* bounds checks **************************************************************/
static inline void assert_ver(enum lib9p_version ver) {
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wtype-limits"
assert(0 <= ver && ver < LIB9P_VER_NUM);
-#pragma GCC diagnostic pop
}
static inline void assert_typ(enum lib9p_msg_type typ) {
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wtype-limits"
assert(0 <= typ && typ < 0xFF);
-#pragma GCC diagnostic pop
}
/* simple lookups *************************************************************/
diff --git a/libmisc/include/libmisc/assert.h b/libmisc/include/libmisc/assert.h
index ccdb288..18ca2e5 100644
--- a/libmisc/include/libmisc/assert.h
+++ b/libmisc/include/libmisc/assert.h
@@ -12,7 +12,10 @@
#else
# define __assert_msg(expr, expr_str, msg) \
do { \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
if (!(expr)) \
+ _Pragma("GCC diagnostic pop") \
__assert_msg_fail(expr_str, __FILE__, __LINE__, __func__, msg); \
} while (0)
[[noreturn]] void __assert_msg_fail(const char *expr,