forked from qt-creator/qt-creator
		
	This rewrite fixes a couple of issues with the pre-processor. It now supports: - macros in macro bodies - stringification of parameters [cpp.stringize] - the concatenation operator [cpp.concat] - #include MACRO_HERE - defined() inside macro bodies used in pp-conditions. Change-Id: Ifdb78041fb6afadf44f939a4bd66ce2832b8601f Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			614 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			614 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#define USE(MY_USE) (defined MY_USE_##MY_USE && MY_USE_##MY_USE)
 | 
						|
 | 
						|
#define MY_USE_FEATURE1 1
 | 
						|
#define MY_USE_FEATURE2 0
 | 
						|
 | 
						|
#if USE(FEATURE1)
 | 
						|
void thisFunctionIsEnabled();
 | 
						|
#endif
 | 
						|
 | 
						|
#if USE(FEATURE2)
 | 
						|
void thisFunctionIsDisabled();
 | 
						|
#endif
 | 
						|
 | 
						|
#if USE(FEATURE3)
 | 
						|
void thisFunctionIsAlsoDisabled();
 | 
						|
#endif
 | 
						|
 | 
						|
#define USE2(MY_USE) (defined MY_USE_##MY_USE)
 | 
						|
 | 
						|
#if USE2(FEATURE1)
 | 
						|
void thisFunctionIsEnabled2();
 | 
						|
#endif
 | 
						|
 | 
						|
#if USE2(FEATURE3)
 | 
						|
void thisFunctionIsDisabled2();
 | 
						|
#endif
 | 
						|
 | 
						|
#define USE3(MY_USE) (MY_USE_##MY_USE)
 | 
						|
 | 
						|
#if USE3(FEATURE1)
 | 
						|
void thisFunctionIsEnabled3();
 | 
						|
#endif
 | 
						|
 | 
						|
#if USE3(FEATURE2)
 | 
						|
void thisFunctionIsDisabled3();
 | 
						|
#endif
 |