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
|