From 3b7d46c3ae516c81d19e53fa9d9b105919f6dd97 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Wed, 10 Jul 2013 00:30:46 +0000 Subject: More local mangling fixes. Compute mangling numbers for externally visible local variables and tags. Change the mangler to consistently use discriminators where necessary. Tweak the scheme we use to number decls which are not externally visible to avoid unnecessary discriminators in common cases now that we request them more consistently. Fixes . llvm-svn: 185986 --- clang/test/CodeGenCXX/linkage.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'clang/test/CodeGenCXX/linkage.cpp') diff --git a/clang/test/CodeGenCXX/linkage.cpp b/clang/test/CodeGenCXX/linkage.cpp index 4aba1b32822..cc4e0909c21 100644 --- a/clang/test/CodeGenCXX/linkage.cpp +++ b/clang/test/CodeGenCXX/linkage.cpp @@ -12,7 +12,7 @@ namespace test1 { } namespace test2 { - // CHECK-DAG: define internal void @_ZN5test21fIZNS_L1gEvE1S_0EEvT_( + // CHECK-DAG: define internal void @_ZN5test21fIZNS_L1gEvE1SEEvT_( template void f(T) {} static inline void *g() { struct S { @@ -46,7 +46,7 @@ namespace test4 { } namespace test5 { - // CHECK-DAG: define linkonce_odr void @_ZN5test51fIZNS_1gILi1EEEPvvE1S_1EEvT_( + // CHECK-DAG: define linkonce_odr void @_ZN5test51fIZNS_1gILi1EEEPvvE1SEEvT_( template void f(T) {} template inline void *g() { struct S { @@ -58,7 +58,7 @@ namespace test5 { } namespace test6 { - // CHECK-DAG: define linkonce_odr void @_ZN5test61fIZZNS_1gEvEN1S1hE_2vE1T_3EEvv( + // CHECK-DAG: define linkonce_odr void @_ZN5test61fIZZNS_1gEvEN1S1hEvE1TEEvv( template void f() {} inline void *g() { @@ -76,7 +76,7 @@ namespace test6 { } namespace test7 { - // CHECK-DAG: define internal void @_ZN5test71fIZZNS_1gEvEN1S1hEvE1T_4EEvv( + // CHECK-DAG: define internal void @_ZN5test71fIZZNS_1gEvEN1S1hEvE1TEEvv( template void f() {} void *g() { @@ -105,7 +105,7 @@ namespace test8 { } namespace test9 { - // CHECK-DAG: define linkonce_odr void @_ZN5test91fIPZNS_1gEvE1S_5EEvT_( + // CHECK-DAG: define linkonce_odr void @_ZN5test91fIPZNS_1gEvE1SEEvT_( template void f(T) {} inline void *g() { struct S { @@ -116,7 +116,7 @@ namespace test9 { } namespace test10 { - // CHECK-DAG: define linkonce_odr void @_ZN6test101fIPFZNS_1gEvE1S_6vEEEvT_( + // CHECK-DAG: define linkonce_odr void @_ZN6test101fIPFZNS_1gEvE1SvEEEvT_( template void f(T) {} inline void *g() { struct S { @@ -128,7 +128,7 @@ namespace test10 { } namespace test11 { - // CHECK-DAG: define internal void @_ZN6test111fIPFZNS_1gEvE1S_7PNS_12_GLOBAL__N_11IEEEEvT_( + // CHECK-DAG: define internal void @_ZN6test111fIPFZNS_1gEvE1SPNS_12_GLOBAL__N_11IEEEEvT_( namespace { struct I { }; @@ -172,7 +172,7 @@ namespace test13 { } namespace test14 { - // CHECK-DAG: define linkonce_odr void @_ZN6test143fooIZNS_1fEvE1S_8E3barILPS1_0EEEvv( + // CHECK-DAG: define linkonce_odr void @_ZN6test143fooIZNS_1fEvE1SE3barILPS1_0EEEvv( template struct foo { template static void bar() {} static void *g() { return (void *)bar; } @@ -186,7 +186,7 @@ namespace test14 { } namespace test15 { - // CHECK-DAG: define linkonce_odr void @_ZN6test153zedIZNS_3fooIiEEPvvE3bar_9EEvv( + // CHECK-DAG: define linkonce_odr void @_ZN6test153zedIZNS_3fooIiEEPvvE3barEEvv( template void zed() {} template void *foo() { class bar { @@ -197,7 +197,7 @@ namespace test15 { } namespace test16 { - // CHECK-DAG: define linkonce_odr void @_ZN6test163zedIZNS_3fooIiE3barEvE1S__10_EEvv( + // CHECK-DAG: define linkonce_odr void @_ZN6test163zedIZNS_3fooIiE3barEvE1SEEvv( template void zed() {} template struct foo { static void *bar(); -- cgit v1.2.3