From 6be2b1798b452104d2f093fe010e39181da56cd9 Mon Sep 17 00:00:00 2001
From: Mike Stump <mrs@apple.com>
Date: Thu, 19 Nov 2009 00:49:05 +0000
Subject: [PATCH] Refine linkage on thunks.  WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89287 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/CodeGen/CGVtable.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp
index 4c97a9bdeeb..a726fec5715 100644
--- a/lib/CodeGen/CGVtable.cpp
+++ b/lib/CodeGen/CGVtable.cpp
@@ -69,7 +69,6 @@ private:
   llvm::DenseMap<CtorVtable_t, int64_t> &AddressPoints;
 
   typedef CXXRecordDecl::method_iterator method_iter;
-  // FIXME: Linkage should follow vtable
   const bool Extern;
   const uint32_t LLVMPointerWidth;
   Index_t extra;
@@ -82,7 +81,7 @@ public:
       BLayout(cgm.getContext().getASTRecordLayout(l)),
       rtti(cgm.GenerateRttiRef(c)), VMContext(cgm.getModule().getContext()),
       CGM(cgm), AddressPoints(*new llvm::DenseMap<CtorVtable_t, int64_t>),
-      Extern(true),
+      Extern(!l->isInAnonymousNamespace()),
       LLVMPointerWidth(cgm.getContext().Target.getPointerWidth(0)) {
     Ptr8Ty = llvm::PointerType::get(llvm::Type::getInt8Ty(VMContext), 0);
 
-- 
GitLab