[C++] Rewrite of the preprocessor.
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>
Showing
- src/libs/cplusplus/CppDocument.cpp 15 additions, 2 deletionssrc/libs/cplusplus/CppDocument.cpp
- src/libs/cplusplus/CppDocument.h 1 addition, 10 deletionssrc/libs/cplusplus/CppDocument.h
- src/libs/cplusplus/FastPreprocessor.h 0 additions, 1 deletionsrc/libs/cplusplus/FastPreprocessor.h
- src/libs/cplusplus/Macro.cpp 2 additions, 10 deletionssrc/libs/cplusplus/Macro.cpp
- src/libs/cplusplus/Macro.h 18 additions, 14 deletionssrc/libs/cplusplus/Macro.h
- src/libs/cplusplus/PPToken.cpp 45 additions, 0 deletionssrc/libs/cplusplus/PPToken.cpp
- src/libs/cplusplus/PPToken.h 106 additions, 0 deletionssrc/libs/cplusplus/PPToken.h
- src/libs/cplusplus/PreprocessorClient.h 2 additions, 2 deletionssrc/libs/cplusplus/PreprocessorClient.h
- src/libs/cplusplus/PreprocessorEnvironment.cpp 27 additions, 1 deletionsrc/libs/cplusplus/PreprocessorEnvironment.cpp
- src/libs/cplusplus/PreprocessorEnvironment.h 4 additions, 1 deletionsrc/libs/cplusplus/PreprocessorEnvironment.h
- src/libs/cplusplus/cplusplus-lib.pri 4 additions, 4 deletionssrc/libs/cplusplus/cplusplus-lib.pri
- src/libs/cplusplus/cplusplus.pro 3 additions, 3 deletionssrc/libs/cplusplus/cplusplus.pro
- src/libs/cplusplus/cplusplus.qbs 2 additions, 2 deletionssrc/libs/cplusplus/cplusplus.qbs
- src/libs/cplusplus/pp-engine.cpp 822 additions, 820 deletionssrc/libs/cplusplus/pp-engine.cpp
- src/libs/cplusplus/pp-engine.h 82 additions, 97 deletionssrc/libs/cplusplus/pp-engine.h
- src/libs/cplusplus/pp-macro-expander.cpp 0 additions, 449 deletionssrc/libs/cplusplus/pp-macro-expander.cpp
- src/libs/cplusplus/pp-macro-expander.h 0 additions, 110 deletionssrc/libs/cplusplus/pp-macro-expander.h
- src/libs/cplusplus/pp.h 0 additions, 1 deletionsrc/libs/cplusplus/pp.h
- src/plugins/cppeditor/cppcompleteswitch.cpp 2 additions, 2 deletionssrc/plugins/cppeditor/cppcompleteswitch.cpp
- src/plugins/cppeditor/cppfunctiondecldeflink.cpp 1 addition, 1 deletionsrc/plugins/cppeditor/cppfunctiondecldeflink.cpp
Loading
Please register or sign in to comment