mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Evaluate argument of (DYNAMIC_)SECTION in static-analysis mode
This commit is contained in:
		 Martin Jeřábek
					Martin Jeřábek
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							c3fd4eb17e
						
					
				
				
					commit
					da303cc668
				
			| @@ -69,7 +69,9 @@ namespace Catch { | ||||
|     namespace Detail { | ||||
|         // Intentionally without linkage, as it should only be used as a dummy | ||||
|         // symbol for static analysis. | ||||
|         int GetNewSectionHint(); | ||||
|         // The arguments are used as a dummy for checking warnings in the passed | ||||
|         // expressions. | ||||
|         int GetNewSectionHint( StringRef, const char* const = nullptr ); | ||||
|     } // namespace Detail | ||||
| } // namespace Catch | ||||
|  | ||||
| @@ -80,7 +82,8 @@ namespace Catch { | ||||
|         CATCH_INTERNAL_SUPPRESS_SHADOW_WARNINGS                             \ | ||||
|         if ( [[maybe_unused]] const int catchInternalPreviousSectionHint =  \ | ||||
|                  catchInternalSectionHint,                                  \ | ||||
|              catchInternalSectionHint = Catch::Detail::GetNewSectionHint(); \ | ||||
|              catchInternalSectionHint =                                     \ | ||||
|                  Catch::Detail::GetNewSectionHint(__VA_ARGS__);             \ | ||||
|              catchInternalPreviousSectionHint == __LINE__ )                 \ | ||||
|         CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
| @@ -90,7 +93,8 @@ namespace Catch { | ||||
|         CATCH_INTERNAL_SUPPRESS_SHADOW_WARNINGS                             \ | ||||
|         if ( [[maybe_unused]] const int catchInternalPreviousSectionHint =  \ | ||||
|                  catchInternalSectionHint,                                  \ | ||||
|              catchInternalSectionHint = Catch::Detail::GetNewSectionHint(); \ | ||||
|              catchInternalSectionHint = Catch::Detail::GetNewSectionHint(   \ | ||||
|                 ( Catch::ReusableStringStream() << __VA_ARGS__ ).str());    \ | ||||
|              catchInternalPreviousSectionHint == __LINE__ )                 \ | ||||
|         CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user