A last minute fixup to commit e51494552b78 was misapplied. Instead of
improving the implementation of assert_with_msg() for the case where
NDEBUG is defined, it effectively eliminated assert_with_msg() in the
normal case where NDEBUG is _not_ defined. As well as removing assert()s
which protect us in case of certian types of bug, this introduces some
cppcheck and clang-tidy regressions.
Fixes: e51494552b78 ("Fix build with -DNDEBUG")
Signed-off-by: David Gibson
[Cc: Jan with full quote]
On Sun, 17 May 2026 11:07:40 +1000
David Gibson
A last minute fixup to commit e51494552b78 was misapplied. Instead of improving the implementation of assert_with_msg() for the case where NDEBUG is defined, it effectively eliminated assert_with_msg() in the normal case where NDEBUG is _not_ defined. As well as removing assert()s which protect us in case of certian types of bug, this introduces some cppcheck and clang-tidy regressions.
Fixes: e51494552b78 ("Fix build with -DNDEBUG") Signed-off-by: David Gibson
Oops, sorry, I think I misread the "#ifndef NDEBUG" and read it as "#ifdef NDEBUG". :( Applied, thanks for spotting this.
--- util.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util.h b/util.h index a9dcc04c..144dc1e6 100644 --- a/util.h +++ b/util.h @@ -51,7 +51,7 @@ void abort_with_msg(const char *fmt, ...) */ #ifndef NDEBUG #define assert_with_msg(expr, ...) \ - (1 ? (void)0 : ((void)(expr), abort_with_msg(__VA_ARGS__))) + ((expr) ? (void)0 : abort_with_msg(__VA_ARGS__)) /* The standard library assert() hits our seccomp filter and dies before it can * actually print a message. So, replace it with our own version. */ @@ -61,7 +61,7 @@ void abort_with_msg(const char *fmt, ...) __func__, __FILE__, __LINE__, STRINGIFY(expr)) #else #define assert_with_msg(expr, ...) \ - ((void)(expr), 1 ? (void)0 : abort_with_msg(__VA_ARGS__)) + (1 ? (void)0 : ((void)(expr), abort_with_msg(__VA_ARGS__))) #endif
#ifdef P_tmpdir
-- Stefano
participants (2)
-
David Gibson
-
Stefano Brivio