diff --git a/Libraries/LibC/assert.h b/Libraries/LibC/assert.h index bc374e5e126..18711ac0e85 100644 --- a/Libraries/LibC/assert.h +++ b/Libraries/LibC/assert.h @@ -34,7 +34,11 @@ __BEGIN_DECLS __attribute__((noreturn)) void __assertion_failed(const char* msg); # define __stringify_helper(x) # x # define __stringify(x) __stringify_helper(x) -# define assert(expr) ((expr) ? (void)0 : __assertion_failed(# expr "\n" __FILE__ ":" __stringify(__LINE__))); +# define assert(expr) \ + do { \ + if (__builtin_expect(!(expr), 0)) \ + __assertion_failed(#expr "\n" __FILE__ ":" __stringify(__LINE__)); \ + } while (0) # define ASSERT_NOT_REACHED() assert(false) #else # define assert(expr)