================
@@ -1469,6 +1470,12 @@ bool MatchASTVisitor::TraverseDecl(Decl *DeclNode) {
     return true;
   }
 
+  if (Options.SkipDeclsInModules && DeclNode->isFromASTFile()) {
+    auto *M = DeclNode->getOwningModule();
+    if (M && (M->isInterfaceOrPartition() || M->isGlobalModule()))
+      return true;
+  }
+
----------------
ChuanqiXu9 wrote:

Yes, I think this is fine. `isFromASTFile` means this is deserialized. 
`(M->isInterfaceOrPartition() || M->isGlobalModule())` means it is from named 
modules. There are other kinds of modules but they are header modules, which 
have headers semantics. While the C++20 named modules is another TU, not a 
header. So I think it is proper here.

https://github.com/llvm/llvm-project/pull/145630
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to