Use the ternary operator to implement `assert' like it is done in the glibc. The glibcs changelog does not mention the rationale behind this change, but doing the same seems to improve our IPC performance.
* kern/assert.h (assert): Define macro using the ternary operator. --- kern/assert.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kern/assert.h b/kern/assert.h index b074fbb..bd2a8be 100644 --- a/kern/assert.h +++ b/kern/assert.h @@ -39,10 +39,9 @@ extern void Assert(const char *exp, const char *filename, int line) __attribute__ ((noreturn)); #define assert(ex) \ -MACRO_BEGIN \ - if (!(ex)) \ - Assert(#ex, __FILE__, __LINE__); \ -MACRO_END + ((ex) \ + ? (void) (0) \ + : Assert (#ex, __FILE__, __LINE__)) #define assert_static(x) assert(x) -- 2.1.4