mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Suppress parentheses warnings on clang and gcc
- should address #593, #528, #521, #496 (and possibly others)
This commit is contained in:
		| @@ -33,6 +33,7 @@ | ||||
|     do { \ | ||||
|         Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr, resultDisposition ); \ | ||||
|         try { \ | ||||
|             CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ | ||||
|             ( __catchResult <= expr ).endExpression(); \ | ||||
|         } \ | ||||
|         catch( ... ) { \ | ||||
|   | ||||
| @@ -36,6 +36,10 @@ | ||||
|  | ||||
| // All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11 | ||||
|  | ||||
| #if defined(__cplusplus) && __cplusplus >= 201103L | ||||
| #  define CATCH_CPP11_OR_GREATER | ||||
| #endif | ||||
|  | ||||
| #ifdef __clang__ | ||||
|  | ||||
| #  if __has_feature(cxx_nullptr) | ||||
| @@ -46,6 +50,10 @@ | ||||
| #    define CATCH_INTERNAL_CONFIG_CPP11_NOEXCEPT | ||||
| #  endif | ||||
|  | ||||
| #   if defined(CATCH_CPP11_OR_GREATER) | ||||
| #       define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) | ||||
| #   endif | ||||
|  | ||||
| #endif // __clang__ | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////// | ||||
| @@ -77,6 +85,10 @@ | ||||
| #       define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR | ||||
| #   endif | ||||
|  | ||||
| #   if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) && defined(CATCH_CPP11_OR_GREATER) | ||||
| #       define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS _Pragma( "gcc diagnostic ignored \"-Wparentheses\"" ) | ||||
| #   endif | ||||
|  | ||||
| // - otherwise more recent versions define __cplusplus >= 201103L | ||||
| // and will get picked up below | ||||
|  | ||||
| @@ -111,13 +123,12 @@ | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////// | ||||
| // C++ language feature support | ||||
|  | ||||
| // catch all support for C++11 | ||||
| #if defined(__cplusplus) && __cplusplus >= 201103L | ||||
|  | ||||
| #  define CATCH_CPP11_OR_GREATER | ||||
| #if defined(CATCH_CPP11_OR_GREATER) | ||||
|  | ||||
| #  if !defined(CATCH_INTERNAL_CONFIG_CPP11_NULLPTR) | ||||
| #    define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR | ||||
| @@ -186,6 +197,9 @@ | ||||
| #   define CATCH_CONFIG_CPP11_UNIQUE_PTR | ||||
| #endif | ||||
|  | ||||
| #if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) | ||||
| #   define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS | ||||
| #endif | ||||
|  | ||||
| // noexcept support: | ||||
| #if defined(CATCH_CONFIG_CPP11_NOEXCEPT) && !defined(CATCH_NOEXCEPT) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash