11 static inline void __attribute__((always_inline))
12 do_assert(const char *file, int line, bool condition, int level)
14 void level_must_be_const();
16 if (!__builtin_constant_p(level))
17 level_must_be_const();
19 if (level <= _UTIL_ASSERT_LEVEL && __builtin_expect(!condition, 0))
20 assert_failure(file, line);
24 #define assertl(cond, level) (::Assert::do_assert(__FILE__, __LINE__, cond, level))
25 #define BUG() assertl(0, ::Assert::Always)