[clang] [CIR] Handle TSK_FriendDeclaration in vtable linkage (PR #201084)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 2 03:16:48 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Akimasa Watanuki (Men-cotton)

<details>
<summary>Changes</summary>

Mirror the TemplateSpecializationKind handling added by #<!-- -->199528.

---
Full diff: https://github.com/llvm/llvm-project/pull/201084.diff


1 Files Affected:

- (modified) clang/lib/CIR/CodeGen/CIRGenVTables.cpp (+2) 


``````````diff
diff --git a/clang/lib/CIR/CodeGen/CIRGenVTables.cpp b/clang/lib/CIR/CodeGen/CIRGenVTables.cpp
index 03d777cf7363a..cc2a1cfea8889 100644
--- a/clang/lib/CIR/CodeGen/CIRGenVTables.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenVTables.cpp
@@ -365,6 +365,7 @@ cir::GlobalLinkageKind CIRGenModule::getVTableLinkage(const CXXRecordDecl *rd) {
                    : cir::GlobalLinkageKind::InternalLinkage;
       return cir::GlobalLinkageKind::ExternalLinkage;
 
+    case TSK_FriendDeclaration:
     case TSK_ImplicitInstantiation:
       return cir::GlobalLinkageKind::LinkOnceODRLinkage;
 
@@ -397,6 +398,7 @@ cir::GlobalLinkageKind CIRGenModule::getVTableLinkage(const CXXRecordDecl *rd) {
   case TSK_Undeclared:
   case TSK_ExplicitSpecialization:
   case TSK_ImplicitInstantiation:
+  case TSK_FriendDeclaration:
     return discardableODRLinkage;
 
   case TSK_ExplicitInstantiationDeclaration:

``````````

</details>


https://github.com/llvm/llvm-project/pull/201084


More information about the cfe-commits mailing list