summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/destructors.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-10-10 15:04:21 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-10-10 15:04:21 +0000
commitdbd0900ac3de45ac86fe87453a946096f2f8ef2b (patch)
treeb54bd32d83cd3b9481ba22b814b181db5ce4fc6a /test/CodeGenCXX/destructors.cpp
parent58b6ccfc8ef7be28bf081c1fd701e60b1f12fe17 (diff)
Revert "Use aliases for more constructors and destructors."
This reverts commit r192300. The change itself looks correct, but it found issues on how we handle aliases in llvm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192353 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/destructors.cpp')
-rw-r--r--test/CodeGenCXX/destructors.cpp31
1 files changed, 3 insertions, 28 deletions
diff --git a/test/CodeGenCXX/destructors.cpp b/test/CodeGenCXX/destructors.cpp
index 0be188b29c..f2c6f212ad 100644
--- a/test/CodeGenCXX/destructors.cpp
+++ b/test/CodeGenCXX/destructors.cpp
@@ -6,16 +6,10 @@
// CHECK: @_ZN5test11OD2Ev = alias {{.*}} @_ZN5test11AD2Ev
// CHECK: @_ZN5test11SD2Ev = alias bitcast {{.*}} @_ZN5test11AD2Ev
-// CHECK: @_ZN6test106foobarIvEC1Ev = alias weak_odr void (%"struct.test10::foobar"*)* @_ZN6test106foobarIvEC2Ev
-
-// CHECK: @_ZN6test116foobarIvEC1Ev = alias linkonce_odr void (%"struct.test11::foobar"*)* @_ZN6test116foobarIvEC2Ev
-
// CHECK: @_ZN5test312_GLOBAL__N_11DD1Ev = alias internal {{.*}} @_ZN5test312_GLOBAL__N_11DD2Ev
// CHECK: @_ZN5test312_GLOBAL__N_11DD2Ev = alias internal bitcast {{.*}} @_ZN5test312_GLOBAL__N_11CD2Ev
// CHECK: @_ZN5test312_GLOBAL__N_11CD1Ev = alias internal {{.*}} @_ZN5test312_GLOBAL__N_11CD2Ev
-// CHECK: @_ZN6PR752617allocator_derivedD1Ev = alias linkonce_odr void (%"struct.PR7526::allocator_derived"*)* @_ZN6PR752617allocator_derivedD2Ev
-
struct A {
int a;
@@ -50,6 +44,9 @@ namespace PR7526 {
// CHECK: call void @__cxa_call_unexpected
allocator::~allocator() throw() { foo(); }
+ // CHECK-LABEL: define linkonce_odr void @_ZN6PR752617allocator_derivedD1Ev(%"struct.PR7526::allocator_derived"* %this) unnamed_addr
+ // CHECK-NOT: call void @__cxa_call_unexpected
+ // CHECK: }
void foo() {
allocator_derived ad;
}
@@ -422,25 +419,3 @@ namespace test9 {
// CHECK: ret void
// CHECK: attributes [[NUW]] = {{[{].*}} nounwind {{.*[}]}}
-
-
-namespace test10 {
- template<typename T>
- struct foobar {
- foobar() {
- }
- };
-
- template struct foobar<void>;
-}
-
-namespace test11 {
- void g();
- template<typename T>
- struct foobar {
- foobar() {
- g();
- }
- };
- foobar<void> x;
-}