diff --git a/CMakeLists.txt b/CMakeLists.txt index f25f47fe..bda4b293 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,7 +310,7 @@ if (NOT NO_SELFTEST) target_compile_options( SelfTest PRIVATE -Wweak-vtables -Wexit-time-destructors -Wglobal-constructors -Wmissing-noreturn ) endif() if ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" ) - target_compile_options( SelfTest PRIVATE /W4 /w44265 /WX ) + target_compile_options( SelfTest PRIVATE /W4 /w44265 /WX /w44061 /w44062 ) target_compile_options( Benchmark PRIVATE /W4 ) endif() diff --git a/include/reporters/catch_reporter_console.cpp b/include/reporters/catch_reporter_console.cpp index 31a46bd9..68eb3b94 100644 --- a/include/reporters/catch_reporter_console.cpp +++ b/include/reporters/catch_reporter_console.cpp @@ -17,6 +17,14 @@ #include #include +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4061) // Not all labels are EXPLICITLY handled in switch + // Note that 4062 (not all labels are handled + // and default is missing) is enabled +#endif + + namespace Catch { namespace { @@ -639,3 +647,7 @@ namespace Catch { ConsoleReporter::~ConsoleReporter() {} } // end namespace Catch + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif diff --git a/include/reporters/catch_reporter_xml.cpp b/include/reporters/catch_reporter_xml.cpp index abdfbce5..36f169fd 100644 --- a/include/reporters/catch_reporter_xml.cpp +++ b/include/reporters/catch_reporter_xml.cpp @@ -13,6 +13,13 @@ #include "internal/catch_xmlwriter.h" #include "../internal/catch_timer.h" +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4061) // Not all labels are EXPLICITLY handled in switch + // Note that 4062 (not all labels are handled + // and default is missing) is enabled +#endif + namespace Catch { class XmlReporter : public StreamingReporterBase { public: @@ -223,3 +230,7 @@ namespace Catch { CATCH_REGISTER_REPORTER( "xml", XmlReporter ) } // end namespace Catch + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif