aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libshouldbeinlibc/assert-backtrace.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libshouldbeinlibc/assert-backtrace.h b/libshouldbeinlibc/assert-backtrace.h
index f49a537e..c1e51594 100644
--- a/libshouldbeinlibc/assert-backtrace.h
+++ b/libshouldbeinlibc/assert-backtrace.h
@@ -45,16 +45,16 @@ void __assert_perror_fail_backtrace (int errnum,
__attribute__ ((noreturn, unused));
#define assert_backtrace(expr) \
- ((expr) \
+ (__builtin_expect(!!(expr), 1) \
? (void) 0 \
: __assert_fail_backtrace (__STRING(expr), \
__FILE__, __LINE__, \
__PRETTY_FUNCTION__))
#define assert_perror_backtrace(expr) \
- ((expr == 0) \
+ (__builtin_expect(((expr) == 0), 1) \
? (void) 0 \
- : __assert_perror_fail_backtrace (expr, \
+ : __assert_perror_fail_backtrace ((expr), \
__FILE__, __LINE__, \
__PRETTY_FUNCTION__))