diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Lex/PPMacroExpansion.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp index f1c69d9934..b23311af19 100644 --- a/lib/Lex/PPMacroExpansion.cpp +++ b/lib/Lex/PPMacroExpansion.cpp @@ -25,14 +25,12 @@ using namespace clang; /// setMacroInfo - Specify a macro for this identifier. /// void Preprocessor::setMacroInfo(IdentifierInfo *II, MacroInfo *MI) { - if (MI == 0) { - if (II->hasMacroDefinition()) { - Macros.erase(II); - II->setHasMacroDefinition(false); - } - } else { + if (MI) { Macros[II] = MI; II->setHasMacroDefinition(true); + } else if (II->hasMacroDefinition()) { + Macros.erase(II); + II->setHasMacroDefinition(false); } } |