#undef NOT_REACHED
#ifndef NDEBUG
-#define ASSERT(CONDITION) \
- ((void) ((CONDITION) || PANIC ("assertion `%s' failed.", #CONDITION)))
+#define ASSERT(CONDITION) \
+ if (CONDITION) { } else { \
+ PANIC ("assertion `%s' failed.", #CONDITION); \
+ }
#define NOT_REACHED() PANIC ("executed an unreachable statement");
#else
#define ASSERT(CONDITION) ((void) 0)