summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/destructors.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-11-05 05:22:36 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-11-05 05:22:36 +0000
commit5d79a51a45ea9e4156acfd221e6bbe40b7ba2faa (patch)
tree6148c66415960561c61457c43eab0e4d5c182798 /clang/test/CodeGenCXX/destructors.cpp
parentb4db43fad68c5c437075bcbf29d9ea5b5fc68f3a (diff)
downloadbcm5719-llvm-5d79a51a45ea9e4156acfd221e6bbe40b7ba2faa.tar.gz
bcm5719-llvm-5d79a51a45ea9e4156acfd221e6bbe40b7ba2faa.zip
Produce direct calls instead of alias to linkonce_odr functions.
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194046
Diffstat (limited to 'clang/test/CodeGenCXX/destructors.cpp')
-rw-r--r--clang/test/CodeGenCXX/destructors.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/test/CodeGenCXX/destructors.cpp b/clang/test/CodeGenCXX/destructors.cpp
index 0030aae92ed..fa7df1babf8 100644
--- a/clang/test/CodeGenCXX/destructors.cpp
+++ b/clang/test/CodeGenCXX/destructors.cpp
@@ -9,7 +9,6 @@
// CHECK-DAG: @_ZN5test312_GLOBAL__N_11DD1Ev = alias internal {{.*}} @_ZN5test312_GLOBAL__N_11DD2Ev
// CHECK-DAG: @_ZN5test312_GLOBAL__N_11DD2Ev = alias internal bitcast {{.*}} @_ZN5test312_GLOBAL__N_11CD2Ev
// CHECK-DAG: @_ZN5test312_GLOBAL__N_11CD1Ev = alias internal {{.*}} @_ZN5test312_GLOBAL__N_11CD2Ev
-// CHECK-DAG: @_ZN6PR752617allocator_derivedD1Ev = alias weak_odr void (%"struct.PR7526::allocator_derived"*)* @_ZN6PR752617allocator_derivedD2Ev
struct A {
int a;
@@ -45,6 +44,9 @@ namespace PR7526 {
// CHECK: call void @__cxa_call_unexpected
allocator::~allocator() throw() { foo(); }
+ // CHECK-LABEL: define void @_ZN6PR75263fooEv()
+ // CHECK: call void @_ZN6PR752617allocator_derivedD2Ev
+
void foo() {
allocator_derived ad;
}
OpenPOWER on IntegriCloud