mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Improve -Wparentheses supression for gcc
If the gcc version supports `_Pragma` properly, we use that to disable it locally inside assertions. Otherwise we disable it for the entire TU. Fixes #674
This commit is contained in:
		| @@ -96,11 +96,15 @@ | ||||
| // GCC | ||||
| #ifdef __GNUC__ | ||||
|  | ||||
| #   if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) | ||||
| #       define CATCH_GCC_HAS_NEW_PRAGMA | ||||
| #   endif | ||||
|  | ||||
| #   if __GNUC__ == 4 && __GNUC_MINOR__ >= 6 && defined(__GXX_EXPERIMENTAL_CXX0X__) | ||||
| #       define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR | ||||
| #   endif | ||||
|  | ||||
| #   if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) && defined(CATCH_CPP11_OR_GREATER) | ||||
| #   if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) && defined(CATCH_GCC_HAS_NEW_PRAGMA) | ||||
| #       define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ | ||||
|             _Pragma( "GCC diagnostic push" ) \ | ||||
|             _Pragma( "GCC diagnostic ignored \"-Wparentheses\"" ) | ||||
|   | ||||
| @@ -24,6 +24,12 @@ | ||||
| #elif defined __GNUC__ | ||||
| #    pragma GCC diagnostic ignored "-Wvariadic-macros" | ||||
| #    pragma GCC diagnostic ignored "-Wunused-variable" | ||||
|  | ||||
|      // For newer version we can use __Pragma to disable the warnings locally | ||||
| #    if __GNUC__ == 4 && __GNUC_MINOR__ >= 4 && __GNUC_MINOR__ <= 7 | ||||
| #        pragma GCC diagnostic ignored "-Wparentheses" | ||||
| #    endif | ||||
|  | ||||
| #    pragma GCC diagnostic push | ||||
| #    pragma GCC diagnostic ignored "-Wpadded" | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský