Author: Guoxiong Li
Date: 2022-04-11T08:38:37-04:00
New Revision: d29f8a5f83501f69621687c09ba4b3c75033bada

URL: 
https://github.com/llvm/llvm-project/commit/d29f8a5f83501f69621687c09ba4b3c75033bada
DIFF: 
https://github.com/llvm/llvm-project/commit/d29f8a5f83501f69621687c09ba4b3c75033bada.diff

LOG: [Clang] Override method ModuleImportRead in 
MultiplexASTDeserializationListener

Fixes https://llvm.org/PR54521

Differential Revision: https://reviews.llvm.org/D123452

Added: 
    

Modified: 
    clang/include/clang/Frontend/MultiplexConsumer.h
    clang/lib/Frontend/MultiplexConsumer.cpp

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Frontend/MultiplexConsumer.h 
b/clang/include/clang/Frontend/MultiplexConsumer.h
index 3054e1842811d..7f8d2858b3863 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<ASTDeserializationListener *> Listeners;

diff  --git a/clang/lib/Frontend/MultiplexConsumer.cpp 
b/clang/lib/Frontend/MultiplexConsumer.cpp
index 34bbc365e6476..737877329c9ce 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 {


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to