[clang] [CIR] Handle TSK_FriendDeclaration in vtable linkage (PR #201084)
Akimasa Watanuki via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 2 03:16:08 PDT 2026
https://github.com/Men-cotton created https://github.com/llvm/llvm-project/pull/201084
Mirror the TemplateSpecializationKind handling added by #199528.
>From 4f2f41e37a0295600e3db33cb6298f83794fa3f8 Mon Sep 17 00:00:00 2001
From: mencotton <mencotton0410 at gmail.com>
Date: Tue, 2 Jun 2026 19:06:33 +0900
Subject: [PATCH] [CIR] Handle TSK_FriendDeclaration in vtable linkage
Mirror the TemplateSpecializationKind handling added by #199528.
---
clang/lib/CIR/CodeGen/CIRGenVTables.cpp | 2 ++
1 file changed, 2 insertions(+)
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:
More information about the cfe-commits
mailing list