diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-02-24 00:05:14 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-02-24 00:05:14 +0000 |
commit | c515978bd3a703aa733f846a0094ffa84d149074 (patch) | |
tree | 575f1660e68d74b4268c6a1460f2fbb4245da518 /lib/Lex/PreprocessingRecord.cpp | |
parent | 82a29af8cbc4b117af83c5c5dfa875b5699c97c4 (diff) |
[preprocessor] Use MacroDirective in the preprocessor callbacks to make available the
full information about the macro (e.g if it was imported and where).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175978 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/PreprocessingRecord.cpp')
-rw-r--r-- | lib/Lex/PreprocessingRecord.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/lib/Lex/PreprocessingRecord.cpp b/lib/Lex/PreprocessingRecord.cpp index 0f3587e31c..b834d6cfb8 100644 --- a/lib/Lex/PreprocessingRecord.cpp +++ b/lib/Lex/PreprocessingRecord.cpp @@ -382,33 +382,34 @@ void PreprocessingRecord::addMacroExpansion(const Token &Id, } void PreprocessingRecord::Ifdef(SourceLocation Loc, const Token &MacroNameTok, - const MacroInfo *MI) { + const MacroDirective *MD) { // This is not actually a macro expansion but record it as a macro reference. - if (MI) - addMacroExpansion(MacroNameTok, MI, MacroNameTok.getLocation()); + if (MD) + addMacroExpansion(MacroNameTok, MD->getInfo(), MacroNameTok.getLocation()); } void PreprocessingRecord::Ifndef(SourceLocation Loc, const Token &MacroNameTok, - const MacroInfo *MI) { + const MacroDirective *MD) { // This is not actually a macro expansion but record it as a macro reference. - if (MI) - addMacroExpansion(MacroNameTok, MI, MacroNameTok.getLocation()); + if (MD) + addMacroExpansion(MacroNameTok, MD->getInfo(), MacroNameTok.getLocation()); } void PreprocessingRecord::Defined(const Token &MacroNameTok, - const MacroInfo *MI) { + const MacroDirective *MD) { // This is not actually a macro expansion but record it as a macro reference. - if (MI) - addMacroExpansion(MacroNameTok, MI, MacroNameTok.getLocation()); + if (MD) + addMacroExpansion(MacroNameTok, MD->getInfo(), MacroNameTok.getLocation()); } -void PreprocessingRecord::MacroExpands(const Token &Id, const MacroInfo* MI, +void PreprocessingRecord::MacroExpands(const Token &Id,const MacroDirective *MD, SourceRange Range) { - addMacroExpansion(Id, MI, Range); + addMacroExpansion(Id, MD->getInfo(), Range); } void PreprocessingRecord::MacroDefined(const Token &Id, - const MacroInfo *MI) { + const MacroDirective *MD) { + const MacroInfo *MI = MD->getInfo(); SourceRange R(MI->getDefinitionLoc(), MI->getDefinitionEndLoc()); MacroDefinition *Def = new (*this) MacroDefinition(Id.getIdentifierInfo(), R); @@ -417,10 +418,10 @@ void PreprocessingRecord::MacroDefined(const Token &Id, } void PreprocessingRecord::MacroUndefined(const Token &Id, - const MacroInfo *MI) { + const MacroDirective *MD) { // Note: MI may be null (when #undef'ining an undefined macro). - if (MI) - MacroDefinitions.erase(MI); + if (MD) + MacroDefinitions.erase(MD->getInfo()); } void PreprocessingRecord::InclusionDirective( |