[modules] Don't bother creating a ModuleMacro representing a #undef that overrides nothing.

llvm-svn: 236374
This commit is contained in:
Richard Smith 2015-05-02 01:14:40 +00:00
parent a2d44dee73
commit 32dbd69ce2
1 changed files with 5 additions and 2 deletions

View File

@ -685,8 +685,11 @@ void Preprocessor::LeaveSubmodule() {
// FIXME: Issue a warning if multiple headers for the same submodule
// define a macro, rather than silently ignoring all but the first.
bool IsNew;
addModuleMacro(Info.M, II, Def, Macro.second.getOverriddenMacros(),
IsNew);
// Don't bother creating a module macro if it would represent a #undef
// that doesn't override anything.
if (Def || !Macro.second.getOverriddenMacros().empty())
addModuleMacro(Info.M, II, Def, Macro.second.getOverriddenMacros(),
IsNew);
break;
}
}