mirror of https://github.com/yshui/picom.git
utils: add BUG_ON()
Same as assert(), but is enabled in release build. Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
d1888b612c
commit
a7d599e72d
11
src/utils.h
11
src/utils.h
|
@ -44,6 +44,17 @@ safe_isnan(double a) {
|
|||
assert(false); \
|
||||
abort(); \
|
||||
} while (0)
|
||||
/// Abort the program is `expr` is true. This is similar to assert, but it is not disabled
|
||||
/// in release builds.
|
||||
#define BUG_ON(expr) \
|
||||
do { \
|
||||
bool __bug_on_tmp = (expr); \
|
||||
assert(__bug_on_tmp && "original expr: " #expr); \
|
||||
if (!__bug_on_tmp) { \
|
||||
fprintf(stderr, "BUG_ON: check \"%s\" failed \n", #expr); \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
#define CHECK_EXPR(...) ((void)0)
|
||||
/// Same as assert, but evaluates the expression even in release builds
|
||||
#define CHECK(expr) \
|
||||
|
|
Loading…
Reference in New Issue