summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/rtti-linkage.cpp
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2018-05-10 08:10:57 +0000
committerEric Fiselier <eric@efcs.ca>2018-05-10 08:10:57 +0000
commit864ef70eb0ca186e0f24c993a8b01e39691ebe21 (patch)
tree36cfc1c63b3a6fbc4b537086423fce114842a59f /clang/test/CodeGenCXX/rtti-linkage.cpp
parent3a7571259eb2d86671b14d71327af383306ba3e1 (diff)
downloadbcm5719-llvm-864ef70eb0ca186e0f24c993a8b01e39691ebe21.tar.gz
bcm5719-llvm-864ef70eb0ca186e0f24c993a8b01e39691ebe21.zip
Revert "[Itanium] Emit type info names with external linkage."
This reverts commit r331957. It seems to be causing failures on ppc64le-linux. llvm-svn: 331963
Diffstat (limited to 'clang/test/CodeGenCXX/rtti-linkage.cpp')
-rw-r--r--clang/test/CodeGenCXX/rtti-linkage.cpp56
1 files changed, 22 insertions, 34 deletions
diff --git a/clang/test/CodeGenCXX/rtti-linkage.cpp b/clang/test/CodeGenCXX/rtti-linkage.cpp
index 38483953bbb..b6b72aa04aa 100644
--- a/clang/test/CodeGenCXX/rtti-linkage.cpp
+++ b/clang/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());
OpenPOWER on IntegriCloud