From b737d64ce836c8e07676a2401450a57c5a8cc5ce Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Sat, 8 Dec 2018 05:50:27 +0100 Subject: [PATCH] improve SUPPRESS_WARNING macro --- src/internal.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/internal.h b/src/internal.h index 4e245b6..aa393a8 100644 --- a/src/internal.h +++ b/src/internal.h @@ -40,8 +40,11 @@ #define STRINGIFY(a) #a #if defined(__clang__) || defined(__codemodel__) -#define SUPPRESS_WARNING(x) _Pragma("clang diagnostic push") _Pragma(STRINGIFY(clang diagnostic ignored x)) +#define SUPPRESS_WARNING(x) _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wpragmas\"") _Pragma(STRINGIFY(clang diagnostic ignored x)) #define SUPPRESS_END _Pragma("clang diagnostic pop") +#elif defined(__GNUC__) +#define SUPPRESS_WARNING(x) _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wpragmas\"") _Pragma(STRINGIFY(GCC diagnostic ignored x)) +#define SUPPRESS_END _Pragma("GCC diagnostic pop") #else #define SUPPRESS_WARNING(x) #define SUPPRESS_END