diff --git a/clang/include/clang/Frontend/MultiplexConsumer.h b/clang/include/clang/Frontend/MultiplexConsumer.h index 3054e1842811d4..7f8d2858b3863e 100644 --- a/clang/include/clang/Frontend/MultiplexConsumer.h +++ b/clang/include/clang/Frontend/MultiplexConsumer.h @@ -40,6 +40,8 @@ class MultiplexASTDeserializationListener : public ASTDeserializationListener { void MacroDefinitionRead(serialization::PreprocessedEntityID, MacroDefinitionRecord *MD) override; void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override; + void ModuleImportRead(serialization::SubmoduleID ID, + SourceLocation ImportLoc) override; private: std::vector Listeners; diff --git a/clang/lib/Frontend/MultiplexConsumer.cpp b/clang/lib/Frontend/MultiplexConsumer.cpp index 34bbc365e64767..737877329c9ce7 100644 --- a/clang/lib/Frontend/MultiplexConsumer.cpp +++ b/clang/lib/Frontend/MultiplexConsumer.cpp @@ -73,6 +73,12 @@ void MultiplexASTDeserializationListener::ModuleRead( Listener->ModuleRead(ID, Mod); } +void MultiplexASTDeserializationListener::ModuleImportRead( + serialization::SubmoduleID ID, SourceLocation ImportLoc) { + for (auto &Listener : Listeners) + Listener->ModuleImportRead(ID, ImportLoc); +} + // This ASTMutationListener forwards its notifications to a set of // child listeners. class MultiplexASTMutationListener : public ASTMutationListener {