diff --git a/clang/include/clang/Frontend/MultiplexConsumer.h b/clang/include/clang/Frontend/MultiplexConsumer.h --- a/clang/include/clang/Frontend/MultiplexConsumer.h +++ b/clang/include/clang/Frontend/MultiplexConsumer.h @@ -40,6 +40,8 @@ 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<ASTDeserializationListener *> Listeners; diff --git a/clang/lib/Frontend/MultiplexConsumer.cpp b/clang/lib/Frontend/MultiplexConsumer.cpp --- a/clang/lib/Frontend/MultiplexConsumer.cpp +++ b/clang/lib/Frontend/MultiplexConsumer.cpp @@ -73,6 +73,12 @@ 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 {