mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	made CHECK/ REQUIRE into block statements
Placed the contents of the macros into do{…}while(0) so they can be used as statements (e.g. after an if() with no braces).
Also means they now require the closing ;
			
			
This commit is contained in:
		| @@ -684,20 +684,15 @@ inline bool isTrue | ||||
|  | ||||
| /////////////////////////////////////////////////////////////////////////////// | ||||
| #define INTERNAL_CATCH_TEST( expr, isNot, stopOnFailure, macroName ) \ | ||||
|     try \ | ||||
|     { \ | ||||
|     do{ try{ \ | ||||
|         INTERNAL_CATCH_ACCEPT_EXPR( ( Catch::ResultBuilder( __FILE__, __LINE__, macroName, #expr, isNot )->*expr ), stopOnFailure ); \ | ||||
|         if( Catch::isTrue( false ) ){ bool internal_catch_dummyResult = ( expr ); Catch::isTrue( internal_catch_dummyResult ); } \ | ||||
|     } \ | ||||
|     catch( Catch::TestFailureException& ) \ | ||||
|     { \ | ||||
|     }catch( Catch::TestFailureException& ){ \ | ||||
|         throw; \ | ||||
|     } \ | ||||
|     catch( ... ) \ | ||||
|     { \ | ||||
|     } catch( ... ){ \ | ||||
|         INTERNAL_CATCH_ACCEPT_EXPR( ( Catch::ResultBuilder( __FILE__, __LINE__, macroName, #expr ) << Catch::Hub::getExceptionTranslatorRegistry().translateActiveException() ).setResultType( Catch::ResultWas::ThrewException ), false ); \ | ||||
|         throw; \ | ||||
|     } | ||||
|     }}while(0) | ||||
|  | ||||
| /////////////////////////////////////////////////////////////////////////////// | ||||
| #define INTERNAL_CATCH_IF( expr, isNot, stopOnFailure, macroName ) \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash