From: Willy Tarreau Date: Mon, 28 Feb 2022 16:57:19 +0000 (+0100) Subject: BUILD: debug: fix build warning on older compilers around DEBUG_STRICT_ACTION X-Git-Tag: v2.6-dev3~103 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5a001a0e4d0ee2f877a5907045b11db5bc246170;p=thirdparty%2Fhaproxy.git BUILD: debug: fix build warning on older compilers around DEBUG_STRICT_ACTION The new macro was introduced with commit 86bcc5308 ("DEBUG: implement 4 levels of choices between warn and crash.") but some older compilers can complain that we test the value when the macro is not defined despite having already been checked in a previous #if directive. Let's just repeat the test for the definition. --- diff --git a/include/haproxy/bug.h b/include/haproxy/bug.h index 28853601ab..2ed27c72d0 100644 --- a/include/haproxy/bug.h +++ b/include/haproxy/bug.h @@ -129,12 +129,12 @@ # define BUG_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 3, "FATAL: bug ", "") # define WARN_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 0, "WARNING: warn ", " (please report to developers)") # define CHECK_IF(cond) _BUG_ON_ONCE(cond, __FILE__, __LINE__, 0, "WARNING: check ", " (please report to developers)") -# elif DEBUG_STRICT_ACTION == 2 +# elif defined(DEBUG_STRICT_ACTION) && (DEBUG_STRICT_ACTION == 2) /* Stricter level: BUG_ON() crashes, WARN_ON() crashes, CHECK_IF() warns */ # define BUG_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 3, "FATAL: bug ", "") # define WARN_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 1, "FATAL: warn ", "") # define CHECK_IF(cond) _BUG_ON_ONCE(cond, __FILE__, __LINE__, 0, "WARNING: check ", " (please report to developers)") -# elif DEBUG_STRICT_ACTION >= 3 +# elif defined(DEBUG_STRICT_ACTION) && (DEBUG_STRICT_ACTION >= 3) /* Developer/CI level: BUG_ON() crashes, WARN_ON() crashes, CHECK_IF() crashes */ # define BUG_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 3, "FATAL: bug ", "") # define WARN_ON(cond) _BUG_ON (cond, __FILE__, __LINE__, 1, "FATAL: warn ", "") @@ -159,7 +159,7 @@ /* default level: BUG_ON() crashes, CHECK_IF() warns */ # define BUG_ON_HOT(cond) _BUG_ON (cond, __FILE__, __LINE__, 3, "FATAL: bug ", "") # define CHECK_IF_HOT(cond) _BUG_ON_ONCE(cond, __FILE__, __LINE__, 0, "WARNING: check ", " (please report to developers)") -# elif DEBUG_STRICT_ACTION >= 3 +# elif defined(DEBUG_STRICT_ACTION) && (DEBUG_STRICT_ACTION >= 3) /* Developer/CI level: BUG_ON() crashes, CHECK_IF() crashes */ # define BUG_ON_HOT(cond) _BUG_ON (cond, __FILE__, __LINE__, 3, "FATAL: bug ", "") # define CHECK_IF_HOT(cond) _BUG_ON_ONCE(cond, __FILE__, __LINE__, 1, "FATAL: check ", "")