forked from OSchip/llvm-project
parent
f302000e5c
commit
5c7cd6043e
|
@ -247,6 +247,15 @@ public:
|
|||
///
|
||||
void setMacroInfo(IdentifierInfo *II, MacroInfo *MI);
|
||||
|
||||
/// macro_iterator/macro_begin/macro_end - This allows you to walk the current
|
||||
/// state of the macro table. This visits every currently-defined macro.
|
||||
typedef llvm::DenseMap<IdentifierInfo*,
|
||||
MacroInfo*>::const_iterator macro_iterator;
|
||||
macro_iterator macro_begin() const { return Macros.begin(); }
|
||||
macro_iterator macro_end() const { return Macros.end(); }
|
||||
|
||||
|
||||
|
||||
const std::string &getPredefines() const { return Predefines; }
|
||||
/// setPredefines - Set the predefines for this Preprocessor. These
|
||||
/// predefines are automatically injected when parsing the main file.
|
||||
|
|
|
@ -238,11 +238,9 @@ bool Preprocessor::HandleEndOfFile(Token &Result, bool isEndOfMacro) {
|
|||
// This is the end of the top-level file. If the diag::pp_macro_not_used
|
||||
// diagnostic is enabled, look for macros that have not been used.
|
||||
if (Diags.getDiagnosticLevel(diag::pp_macro_not_used) != Diagnostic::Ignored){
|
||||
for (llvm::DenseMap<IdentifierInfo*, MacroInfo*>::iterator I =
|
||||
Macros.begin(), E = Macros.end(); I != E; ++I) {
|
||||
for (macro_iterator I = macro_begin(), E = macro_end(); I != E; ++I)
|
||||
if (!I->second->isUsed())
|
||||
Diag(I->second->getDefinitionLoc(), diag::pp_macro_not_used);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue