summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle-subst-std.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-03-27 09:00:25 +0000
committerJohn McCall <rjmccall@apple.com>2011-03-27 09:00:25 +0000
commitbda0d6bda0f1a08a9fdf3ee4cf550b6b10d454ec (patch)
treefaa32ab477113bf721c56a359e9019611e2125e9 /test/CodeGenCXX/mangle-subst-std.cpp
parentcc8770a94decad87a048b08a809a0cd9ded1c573 (diff)
We were emitting construction v-tables with internal linkage all the time.
Emit them instead with the linkage of the VTT. I'm actually really ambivalent about this; it's what GCC does, but outside of improving code size (if the linkage is coalescing), I'm not sure it's at all relevant. Construction vtables are naturally referenced only by the VTT, which is itself only referenced by complete-object constructors and destructors; giving the construction vtables possibly-external linkage is important if you have an optimization that drills through the VTT to a reference to a particular construction vtable which it cannot just emit itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128374 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-subst-std.cpp')
-rw-r--r--test/CodeGenCXX/mangle-subst-std.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGenCXX/mangle-subst-std.cpp b/test/CodeGenCXX/mangle-subst-std.cpp
index 8d79988da8..fea3582d32 100644
--- a/test/CodeGenCXX/mangle-subst-std.cpp
+++ b/test/CodeGenCXX/mangle-subst-std.cpp
@@ -5,8 +5,8 @@
// CHECK: @_ZTTSd = linkonce_odr unnamed_addr constant
// CHECK: @_ZTVSd = linkonce_odr unnamed_addr constant
-// CHECK: @_ZTCSd0_Si = internal constant
-// CHECK: @_ZTCSd16_So = internal constant
+// CHECK: @_ZTCSd0_Si = linkonce_odr unnamed_addr constant
+// CHECK: @_ZTCSd16_So = linkonce_odr unnamed_addr constant
// CHECK: @_ZTTSo = linkonce_odr unnamed_addr constant
// CHECK: @_ZTVSo = linkonce_odr unnamed_addr constant
// CHECK: @_ZTTSi = linkonce_odr unnamed_addr constant