diff --git a/CMake/MiscFunctions.cmake b/CMake/MiscFunctions.cmake index f6631951..bca3f0e4 100644 --- a/CMake/MiscFunctions.cmake +++ b/CMake/MiscFunctions.cmake @@ -61,6 +61,7 @@ function(add_warnings_to_targets targets) "-Wunused-function" "-Wcall-to-pure-virtual-from-ctor-dtor" "-Wdeprecated-register" + "-Wsuggest-override" ) foreach(warning ${CHECKED_WARNING_FLAGS}) add_cxx_flag_if_supported_to_targets(${warning} "${targets}") diff --git a/src/catch2/internal/catch_clara.hpp b/src/catch2/internal/catch_clara.hpp index 44dd0fdd..2319792f 100644 --- a/src/catch2/internal/catch_clara.hpp +++ b/src/catch2/internal/catch_clara.hpp @@ -16,20 +16,22 @@ #endif #define CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH CATCH_CONFIG_CONSOLE_WIDTH-1 -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wweak-vtables" -#pragma clang diagnostic ignored "-Wexit-time-destructors" -#pragma clang diagnostic ignored "-Wshadow" -#pragma clang diagnostic ignored "-Wdeprecated" + +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wweak-vtables" + #pragma clang diagnostic ignored "-Wexit-time-destructors" + #pragma clang diagnostic ignored "-Wshadow" + #pragma clang diagnostic ignored "-Wdeprecated" #endif #include -#ifdef __clang__ -#pragma clang diagnostic pop +#if defined(__clang__) + #pragma clang diagnostic pop #endif + // Restore Clara's value for console width, if present #ifdef CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH #define CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH diff --git a/src/catch2/internal/catch_clara_upstream.hpp b/src/catch2/internal/catch_clara_upstream.hpp index c7348bf9..f12e7672 100644 --- a/src/catch2/internal/catch_clara_upstream.hpp +++ b/src/catch2/internal/catch_clara_upstream.hpp @@ -705,7 +705,7 @@ namespace detail { }; struct BoundFlagRefBase : BoundRef { virtual auto setFlag( bool flag ) -> ParserResult = 0; - virtual auto isFlag() const -> bool { return true; } + bool isFlag() const override { return true; } }; template diff --git a/src/catch2/internal/catch_run_context.hpp b/src/catch2/internal/catch_run_context.hpp index 10e50b7b..d936b9f6 100644 --- a/src/catch2/internal/catch_run_context.hpp +++ b/src/catch2/internal/catch_run_context.hpp @@ -105,7 +105,7 @@ namespace Catch { public: // !TBD We need to do this another way! - bool aborting() const final; + bool aborting() const override; private: