From 24a7d53329d9df358c67679eae0b9197a9125b96 Mon Sep 17 00:00:00 2001 From: Yonggang Luo Date: Thu, 13 Nov 2025 03:52:37 +0800 Subject: [PATCH] util: Add PRAGMA_DIAGNOSTIC_IGNORED_CLANG PRAGMA_DIAGNOSTIC_IGNORED_GCC for latter use gcc and clang do not have equal set of warnings, so when warning are specific to CLANG or GCC, using PRAGMA_DIAGNOSTIC_IGNORED_CLANG or PRAGMA_DIAGNOSTIC_GCC_IGNORED instead Signed-off-by: Yonggang Luo Reviewed-by: Alyssa Rosenzweig Part-of: --- src/util/macros.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/util/macros.h b/src/util/macros.h index 395b157ee88..9db4746b7e9 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -509,18 +509,24 @@ typedef int lock_cap_t; #define PRAGMA_DIAGNOSTIC_ERROR(X) DO_PRAGMA( clang diagnostic error #X ) #define PRAGMA_DIAGNOSTIC_WARNING(X) DO_PRAGMA( clang diagnostic warning #X ) #define PRAGMA_DIAGNOSTIC_IGNORED(X) DO_PRAGMA( clang diagnostic ignored #X ) +#define PRAGMA_DIAGNOSTIC_IGNORED_CLANG(X) DO_PRAGMA( clang diagnostic ignored #X ) +#define PRAGMA_DIAGNOSTIC_IGNORED_GCC(X) #elif defined(__GNUC__) #define PRAGMA_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") #define PRAGMA_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") #define PRAGMA_DIAGNOSTIC_ERROR(X) DO_PRAGMA( GCC diagnostic error #X ) #define PRAGMA_DIAGNOSTIC_WARNING(X) DO_PRAGMA( GCC diagnostic warning #X ) #define PRAGMA_DIAGNOSTIC_IGNORED(X) DO_PRAGMA( GCC diagnostic ignored #X ) +#define PRAGMA_DIAGNOSTIC_IGNORED_CLANG(X) +#define PRAGMA_DIAGNOSTIC_IGNORED_GCC(X) DO_PRAGMA( GCC diagnostic ignored #X ) #else #define PRAGMA_DIAGNOSTIC_PUSH #define PRAGMA_DIAGNOSTIC_POP #define PRAGMA_DIAGNOSTIC_ERROR(X) #define PRAGMA_DIAGNOSTIC_WARNING(X) #define PRAGMA_DIAGNOSTIC_IGNORED(X) +#define PRAGMA_DIAGNOSTIC_IGNORED_CLANG(X) +#define PRAGMA_DIAGNOSTIC_IGNORED_GCC(X) #endif #define PASTE2(a, b) a ## b