summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/cxx0x-delegating-ctors.cpp')
-rw-r--r--test/CodeGenCXX/cxx0x-delegating-ctors.cpp42
1 files changed, 25 insertions, 17 deletions
diff --git a/test/CodeGenCXX/cxx0x-delegating-ctors.cpp b/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
index 5b432c7..15c8e7f 100644
--- a/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
+++ b/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
@@ -2,10 +2,10 @@
struct non_trivial {
non_trivial();
- ~non_trivial();
+ ~non_trivial() noexcept(false);
};
non_trivial::non_trivial() {}
-non_trivial::~non_trivial() {}
+non_trivial::~non_trivial() noexcept(false) {}
// We use a virtual base to ensure that the constructor
// delegation optimization (complete->base) can't be
@@ -22,27 +22,35 @@ delegator::delegator() {
throw 0;
}
-// CHECK: define void @_ZN9delegatorC1Ei
-// CHECK: call void @_ZN9delegatorC1Ev
-// CHECK-NOT: lpad
-// CHECK: ret
-// CHECK-NOT: lpad
-// CHECK: define void @_ZN9delegatorC2Ei
-// CHECK: call void @_ZN9delegatorC2Ev
-// CHECK-NOT: lpad
-// CHECK: ret
-// CHECK-NOT: lpad
-delegator::delegator(int)
- : delegator()
-{}
delegator::delegator(bool)
{}
+// CHECK: define void @_ZN9delegatorC1Ec
+// CHECK: void @_ZN9delegatorC1Eb
+// CHECK: void @__cxa_throw
+// CHECK: void @_ZSt9terminatev
+// CHECK: void @_ZN9delegatorD1Ev
// CHECK: define void @_ZN9delegatorC2Ec
-// CHECK: call void @_ZN9delegatorC2Eb
-// CHECK: call void @__cxa_throw
+// CHECK: void @_ZN9delegatorC2Eb
+// CHECK: void @__cxa_throw
+// CHECK: void @_ZSt9terminatev
+// CHECK: void @_ZN9delegatorD2Ev
delegator::delegator(char)
: delegator(true) {
throw 0;
}
+
+// CHECK: define void @_ZN9delegatorC1Ei
+// CHECK: void @_ZN9delegatorC1Ev
+// CHECK-NOT: void @_ZSt9terminatev
+// CHECK: ret
+// CHECK-NOT: void @_ZSt9terminatev
+// CHECK: define void @_ZN9delegatorC2Ei
+// CHECK: void @_ZN9delegatorC2Ev
+// CHECK-NOT: void @_ZSt9terminatev
+// CHECK: ret
+// CHECK-NOT: void @_ZSt9terminatev
+delegator::delegator(int)
+ : delegator()
+{}
OpenPOWER on IntegriCloud