From 5981588565191fe7c8934021f711286f8ea61d93 Mon Sep 17 00:00:00 2001 From: Beat Bolli Date: Mon, 2 Dec 2019 20:40:59 +0100 Subject: [PATCH] Fix compilation with MinGW Commit 3bc28fcc6b2a ("Squelch MSVC warning exporting subclasses of runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW compiler also defines _WIN32, but does not support the "warning" pragma. Introduce a helper macro to squelch the MSVC warning only when using the Microsoft compiler. Signed-off-by: Beat Bolli --- include/fmt/core.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/fmt/core.h b/include/fmt/core.h index 6a0846fc..d49f36e6 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -166,10 +166,15 @@ #endif #if !defined(FMT_HEADER_ONLY) && defined(_WIN32) +# if FMT_MSC_VER +# define FMT_NO_W4275 __pragma(warning(suppress : 4275)) +# else +# define FMT_NO_W4275 +# endif # ifdef FMT_EXPORT -# define FMT_API __pragma(warning(suppress : 4275)) __declspec(dllexport) +# define FMT_API FMT_NO_W4275 __declspec(dllexport) # elif defined(FMT_SHARED) -# define FMT_API __pragma(warning(suppress : 4275)) __declspec(dllimport) +# define FMT_API FMT_NO_W4275 __declspec(dllimport) # define FMT_EXTERN_TEMPLATE_API FMT_API # endif #endif