From: Tim Duesterhus Date: Mon, 25 Jan 2021 16:51:36 +0000 (+0100) Subject: MINOR: abort() on my_unreachable() when DEBUG_USE_ABORT is set. X-Git-Tag: v2.4-dev7~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d7f9ff377e406cdff55876e4f4f8e5a96448037;p=thirdparty%2Fhaproxy.git MINOR: abort() on my_unreachable() when DEBUG_USE_ABORT is set. Hopefully this helps static analysis tools detecting that the code after that call is unreachable. See GitHub Issue #1075. --- diff --git a/include/haproxy/compiler.h b/include/haproxy/compiler.h index e5fae3e27f..fba6dc3580 100644 --- a/include/haproxy/compiler.h +++ b/include/haproxy/compiler.h @@ -66,11 +66,15 @@ * above which can more aggressively detect null dereferences. The builtin * below was introduced in gcc 4.5, and before it we didn't care. */ +#ifdef DEBUG_USE_ABORT +#define my_unreachable() abort() +#else #if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) #define my_unreachable() __builtin_unreachable() #else #define my_unreachable() #endif +#endif /* This macro may be used to block constant propagation that lets the compiler * detect a possible NULL dereference on a variable resulting from an explicit