Since bc872d91765d, our assert() statements are omitted if we compile with
-DNDEBUG, like the standard library assert(3). Unfortunately a trivial but
embarrassing mistake in that patch means that instead of never aborting in
this case, assert_with_msg() *always* aborts, breaking pretty much
everything.
There's also a missing #include that breaks the build with -DNDEBUG on at
least some library versions.
Reported-by: Jan Palus
Fixes: bc872d91765d ("treewide: Spell ASSERT() as assert()")
Signed-off-by: David Gibson
---
util.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/util.h b/util.h
index 70aadeba..11f71d45 100644
--- a/util.h
+++ b/util.h
@@ -6,6 +6,7 @@
#ifndef UTIL_H
#define UTIL_H
+#include
#include
#include
#include
@@ -60,7 +61,7 @@ void abort_with_msg(const char *fmt, ...)
__func__, __FILE__, __LINE__, STRINGIFY(expr))
#else
#define assert_with_msg(expr, ...) \
- ((void)(expr), 0 ? (void)0 : abort_with_msg(__VA_ARGS__))
+ ((void)(expr), 1 ? (void)0 : abort_with_msg(__VA_ARGS__))
#endif
#ifdef P_tmpdir
--
2.54.0