diff options
Diffstat (limited to 'clang/lib/Lex/PPMacroExpansion.cpp')
-rw-r--r-- | clang/lib/Lex/PPMacroExpansion.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/lib/Lex/PPMacroExpansion.cpp b/clang/lib/Lex/PPMacroExpansion.cpp index f1c69d99341..b23311af192 100644 --- a/clang/lib/Lex/PPMacroExpansion.cpp +++ b/clang/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); } } |