From 5a001a0e4d0ee2f877a5907045b11db5bc246170 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 28 Feb 2022 17:57:19 +0100 Subject: [PATCH] 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. --- include/haproxy/bug.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/haproxy/bug.h b/include/haproxy/bug.h index 28853601a..2ed27c72d 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 ", "")