diff --git a/clang/lib/Lex/PPMacroExpansion.cpp b/clang/lib/Lex/PPMacroExpansion.cpp index f1c69d993415..b23311af1927 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); } }