[modules] Build a DAG of module macros for each identifier.
This graph will be used to determine the current set of active macros. This is
foundation work for getting macro visibility correct across submodules of the
current module. No functionality change for now.
llvm-svn: 235461
diff --git a/clang/lib/Lex/MacroInfo.cpp b/clang/lib/Lex/MacroInfo.cpp
index 5416886..0469483 100644
--- a/clang/lib/Lex/MacroInfo.cpp
+++ b/clang/lib/Lex/MacroInfo.cpp
@@ -234,3 +234,10 @@
}
Out << "\n";
}
+
+ModuleMacro *ModuleMacro::create(Preprocessor &PP, unsigned OwningModuleID,
+ IdentifierInfo *II, MacroInfo *Macro,
+ ArrayRef<ModuleMacro*> Overrides) {
+ return new (PP.getPreprocessorAllocator())
+ ModuleMacro(OwningModuleID, II, Macro, Overrides);
+}