aboutsummaryrefslogtreecommitdiff
path: root/lib/Lex/PreprocessingRecord.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-02-24 00:05:14 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-02-24 00:05:14 +0000
commitc515978bd3a703aa733f846a0094ffa84d149074 (patch)
tree575f1660e68d74b4268c6a1460f2fbb4245da518 /lib/Lex/PreprocessingRecord.cpp
parent82a29af8cbc4b117af83c5c5dfa875b5699c97c4 (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.cpp31
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(