Fix compilation with MinGW

Commit 3bc28fcc6b ("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 <dev@drbeat.li>
This commit is contained in:
Beat Bolli 2019-12-02 20:40:59 +01:00 committed by Victor Zverovich
parent 8bbe76af3a
commit 5981588565

View File

@ -166,10 +166,15 @@
#endif #endif
#if !defined(FMT_HEADER_ONLY) && defined(_WIN32) #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 # ifdef FMT_EXPORT
# define FMT_API __pragma(warning(suppress : 4275)) __declspec(dllexport) # define FMT_API FMT_NO_W4275 __declspec(dllexport)
# elif defined(FMT_SHARED) # 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 # define FMT_EXTERN_TEMPLATE_API FMT_API
# endif # endif
#endif #endif