diff options
author | Eric Fiselier <eric@efcs.ca> | 2018-05-10 08:10:57 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2018-05-10 08:10:57 +0000 |
commit | 6f9852dac2443ed3a58542da114365a142079d31 (patch) | |
tree | 4e38c3b109fc87c7f37c652d8bceecbd0c63d198 /test/CodeGenCXX/rtti-linkage.cpp | |
parent | 5546e9f1ae4a5b58a15519e543c1157bbb2487c4 (diff) |
Revert "[Itanium] Emit type info names with external linkage."
This reverts commit r331957. It seems to be causing failures
on ppc64le-linux.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/rtti-linkage.cpp')
-rw-r--r-- | test/CodeGenCXX/rtti-linkage.cpp | 56 |
1 files changed, 22 insertions, 34 deletions
diff --git a/test/CodeGenCXX/rtti-linkage.cpp b/test/CodeGenCXX/rtti-linkage.cpp index 38483953bb..b6b72aa04a 100644 --- a/test/CodeGenCXX/rtti-linkage.cpp +++ b/test/CodeGenCXX/rtti-linkage.cpp @@ -1,31 +1,29 @@ -// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | \ -// RUN: FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-BOTH \ -// RUN: -DLINKONCE_VIS_CONSTANT='linkonce_odr constant' -// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -fvisibility hidden -emit-llvm -o - | \ -// RUN: FileCheck %s -check-prefix=CHECK-WITH-HIDDEN -check-prefix=CHECK-BOTH \ -// RUN: -DLINKONCE_VIS_CONSTANT='linkonce_odr hidden constant' +// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-BOTH +// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -fvisibility hidden -emit-llvm -o - | FileCheck -check-prefix=CHECK-WITH-HIDDEN -check-prefix=CHECK-BOTH %s #include <typeinfo> -// CHECK-BOTH: _ZTSP1C = [[LINKONCE_VIS_CONSTANT]] -// CHECK-BOTH: _ZTS1C = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSP1C = internal constant +// CHECK-BOTH: _ZTS1C = internal constant // CHECK-BOTH: _ZTI1C = internal constant // CHECK-BOTH: _ZTIP1C = internal constant -// CHECK-BOTH: _ZTSPP1C = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSPP1C = internal constant // CHECK-BOTH: _ZTIPP1C = internal constant -// CHECK-BOTH: _ZTSM1Ci = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSM1Ci = internal constant // CHECK-BOTH: _ZTIM1Ci = internal constant -// CHECK-BOTH: _ZTSPM1Ci = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSPM1Ci = internal constant // CHECK-BOTH: _ZTIPM1Ci = internal constant -// CHECK-BOTH: _ZTSM1CS_ = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSM1CS_ = internal constant // CHECK-BOTH: _ZTIM1CS_ = internal constant -// CHECK-BOTH: _ZTSM1CPS_ = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSM1CPS_ = internal constant // CHECK-BOTH: _ZTIM1CPS_ = internal constant -// CHECK-BOTH: _ZTSM1A1C = [[LINKONCE_VIS_CONSTANT]] -// CHECK-BOTH: _ZTS1A = [[LINKONCE_VIS_CONSTANT]] -// CHECK-BOTH: _ZTI1A = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSM1A1C = internal constant +// CHECK: _ZTS1A = linkonce_odr constant +// CHECK-WITH-HIDDEN: _ZTS1A = linkonce_odr hidden constant +// CHECK: _ZTI1A = linkonce_odr constant +// CHECK-WITH-HIDDEN: _ZTI1A = linkonce_odr hidden constant // CHECK-BOTH: _ZTIM1A1C = internal constant -// CHECK-BOTH: _ZTSM1AP1C = [[LINKONCE_VIS_CONSTANT]] +// CHECK-BOTH: _ZTSM1AP1C = internal constant // CHECK-BOTH: _ZTIM1AP1C = internal constant // CHECK-WITH-HIDDEN: _ZTSFN12_GLOBAL__N_11DEvE = internal constant @@ -54,12 +52,6 @@ // CHECK: _ZTSFvvE = linkonce_odr constant // CHECK: _ZTIFvvE = linkonce_odr constant // CHECK: _ZTIPFvvE = linkonce_odr constant -// CHECK: _ZTSPN12_GLOBAL__N_12DIE = internal constant -// CHECK: _ZTSN12_GLOBAL__N_12DIE = internal constant -// CHECK: _ZTIN12_GLOBAL__N_12DIE = internal constant -// CHECK: _ZTIPN12_GLOBAL__N_12DIE = internal constant -// CHECK: _ZTSMN12_GLOBAL__N_12DIEFvvE = internal constant -// CHECK: _ZTIMN12_GLOBAL__N_12DIEFvvE = internal constant // CHECK: _ZTSN12_GLOBAL__N_11EE = internal constant // CHECK: _ZTIN12_GLOBAL__N_11EE = internal constant // CHECK: _ZTSA10_i = linkonce_odr constant @@ -107,13 +99,12 @@ void t1() { } namespace { -// D and DI are inside an anonymous namespace, so all type information related -// to both should have internal linkage. -struct D {}; -struct DI; - -// E is also inside an anonymous namespace. -enum E {}; + // D is inside an anonymous namespace, so all type information related to D should have + // internal linkage. + struct D { }; + + // E is also inside an anonymous namespace. + enum E { }; }; @@ -135,10 +126,7 @@ const std::type_info &t2() { // The exception specification is not part of the RTTI descriptor, so it should not have // internal linkage. (void)typeid(void (*)() throw (D)); - - (void)typeid(DI *); - (void)typeid(void (DI::*)()); - + (void)typeid(E); return typeid(getD()); |