Author: Chuanqi Xu
Date: 2021-12-08T17:16:31+08:00
New Revision: 96b92d5b3ec43be18146a346b65cc82766cf8b3a

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

LOG: [NFC] Only attach a declaration to global module fragment if it appears in 
a module

Added: 
    

Modified: 
    clang/lib/Sema/SemaDeclCXX.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 558ee3fd8a398..4a0eda2a700fe 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -16153,7 +16153,7 @@ Decl *Sema::ActOnStartLinkageSpecification(Scope *S, 
SourceLocation ExternLoc,
   ///   - ...
   ///   - appears within a linkage-specification,
   ///   it is attached to the global module.
-  if (getLangOpts().CPlusPlusModules) {
+  if (getLangOpts().CPlusPlusModules && getCurrentModule()) {
     Module *GlobalModule =
         PushGlobalModuleFragment(ExternLoc, /*IsImplicit=*/true);
     D->setModuleOwnershipKind(Decl::ModuleOwnershipKind::ModulePrivate);
@@ -16177,7 +16177,7 @@ Decl *Sema::ActOnFinishLinkageSpecification(Scope *S,
     LSDecl->setRBraceLoc(RBraceLoc);
   }
 
-  if (getLangOpts().CPlusPlusModules)
+  if (getLangOpts().CPlusPlusModules && getCurrentModule())
     PopGlobalModuleFragment();
 
   PopDeclContext();


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

Reply via email to