diff options
author | Jakob Kaivo <jkk@ung.org> | 2024-02-02 13:22:48 -0500 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2024-02-02 13:22:48 -0500 |
commit | 6aebe0dbfc24f0af73eb422b4748a9b35df5b435 (patch) | |
tree | ac16c46a8d9f917fe57d39aee36351cbcdb6642d | |
parent | 68467da17d576a17e4ff96c60f581561ac0bbe88 (diff) |
add UNDEFINED() macro
-rw-r--r-- | src/_safety.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/_safety.h b/src/_safety.h index 115c7167..15076cc8 100644 --- a/src/_safety.h +++ b/src/_safety.h @@ -1,5 +1,5 @@ -#ifndef ___ASSERT_H__ -#define ___ASSERT_H__ +#ifndef ___SAFETY_H__ +#define ___SAFETY_H__ _Noreturn void __undefined(const char *, ...); @@ -26,6 +26,8 @@ extern struct __checked_call { } __checked_call; #ifndef NDEBUG +#define UNDEFINED(...) __undefined(__VA_ARGS__) + #define ASSERT_NONNULL(__ptr) do { \ if (!__ptr) { \ __undefined("In call to %s(), parameter %s cannot be NULL", __func__, #__ptr); \ @@ -124,6 +126,7 @@ extern struct __checked_call { } #else +#define UNDEFINED(...) #define ASSERT_NOOVERLAP(__x, __y, __s) #define ASSERT_NONNULL(x) #define VCHECK_0(f) |