mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Stop -Wunused-variable suppression leaking out of Catch's header
Previously it was leaking to suppress warnings on `SECTION`s, but Clang's support for `_Pragma` is solid, so we can suppress those locally. Fixes #1317
This commit is contained in:
		| @@ -57,6 +57,12 @@ | ||||
| #       define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \ | ||||
|             _Pragma( "clang diagnostic pop" ) | ||||
|  | ||||
| #       define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ | ||||
|             _Pragma( "clang diagnostic push" ) \ | ||||
|             _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) | ||||
| #       define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS \ | ||||
|             _Pragma( "clang diagnostic pop" ) | ||||
|  | ||||
| #endif // __clang__ | ||||
|  | ||||
|  | ||||
| @@ -168,6 +174,10 @@ | ||||
| #   define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS | ||||
| #   define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS | ||||
| #endif | ||||
| #if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS) | ||||
| #   define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS | ||||
| #   define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif // TWOBLUECUBES_CATCH_COMPILER_CAPABILITIES_HPP_INCLUDED | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
| #ifndef TWOBLUECUBES_CATCH_SECTION_H_INCLUDED | ||||
| #define TWOBLUECUBES_CATCH_SECTION_H_INCLUDED | ||||
|  | ||||
| #include "catch_compiler_capabilities.h" | ||||
| #include "catch_section_info.h" | ||||
| #include "catch_totals.h" | ||||
| #include "catch_timer.h" | ||||
| @@ -36,9 +37,13 @@ namespace Catch { | ||||
| } // end namespace Catch | ||||
|  | ||||
| #define INTERNAL_CATCH_SECTION( ... ) \ | ||||
|     if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, __VA_ARGS__ ) ) | ||||
|     CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ | ||||
|     if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, __VA_ARGS__ ) ) \ | ||||
|     CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS | ||||
|  | ||||
| #define INTERNAL_CATCH_DYNAMIC_SECTION( ... ) \ | ||||
|     if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, (Catch::ReusableStringStream() << __VA_ARGS__).str() ) ) | ||||
|     CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ | ||||
|     if( Catch::Section const& INTERNAL_CATCH_UNIQUE_NAME( catch_internal_Section ) = Catch::SectionInfo( CATCH_INTERNAL_LINEINFO, (Catch::ReusableStringStream() << __VA_ARGS__).str() ) ) \ | ||||
|     CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS | ||||
|  | ||||
| #endif // TWOBLUECUBES_CATCH_SECTION_H_INCLUDED | ||||
|   | ||||
| @@ -10,7 +10,6 @@ | ||||
| #       pragma warning(push) | ||||
| #       pragma warning(disable: 161 1682) | ||||
| #   else // __ICC | ||||
| #       pragma clang diagnostic ignored "-Wunused-variable" | ||||
| #       pragma clang diagnostic push | ||||
| #       pragma clang diagnostic ignored "-Wpadded" | ||||
| #       pragma clang diagnostic ignored "-Wswitch-enum" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský