Fix some obvious bugs in the conditional-cleanup code and then make the
dtor cleanup use it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124309 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/exceptions.cpp b/test/CodeGenCXX/exceptions.cpp
index c60f2a1..2413eb0 100644
--- a/test/CodeGenCXX/exceptions.cpp
+++ b/test/CodeGenCXX/exceptions.cpp
@@ -196,10 +196,10 @@
// CHECK-NEXT: [[CLEANUPACTIVE:%.*]] = alloca i1
// CHECK-NEXT: [[TMP:%.*]] = alloca [[A]], align 8
// CHECK: [[TMPACTIVE:%.*]] = alloca i1
- // CHECK-NEXT: store i1 false, i1* [[TMPACTIVE]]
// CHECK-NEXT: store i1 false, i1* [[CLEANUPACTIVE]]
// CHECK: [[COND:%.*]] = trunc i8 {{.*}} to i1
+ // CHECK-NEXT: store i1 false, i1* [[TMPACTIVE]]
// CHECK-NEXT: br i1 [[COND]]
return (cond ?
diff --git a/test/CodeGenCXX/temporaries.cpp b/test/CodeGenCXX/temporaries.cpp
index 74b11fd..348d51e 100644
--- a/test/CodeGenCXX/temporaries.cpp
+++ b/test/CodeGenCXX/temporaries.cpp
@@ -502,9 +502,9 @@
// CHECK: [[TMP:%.*]] = alloca [[A:%.*]], align 1
// CHECK-NEXT: [[LCONS:%.*]] = alloca i1
// CHECK-NEXT: [[RCONS:%.*]] = alloca i1
+ // CHECK: store i1 false, i1* [[LCONS]]
// CHECK-NEXT: store i1 false, i1* [[RCONS]]
- // CHECK-NEXT: store i1 false, i1* [[LCONS]]
- // CHECK: br i1
+ // CHECK-NEXT: br i1
// CHECK: call void @_ZN6PR86231AC1Ei([[A]]* [[TMP]], i32 2)
// CHECK-NEXT: store i1 true, i1* [[LCONS]]
// CHECK-NEXT: br label
@@ -514,12 +514,10 @@
// CHECK: load i1* [[RCONS]]
// CHECK-NEXT: br i1
// CHECK: call void @_ZN6PR86231AD1Ev([[A]]* [[TMP]])
- // CHECK-NEXT: store i1 false, i1* [[RCONS]]
// CHECK-NEXT: br label
// CHECK: load i1* [[LCONS]]
// CHECK-NEXT: br i1
// CHECK: call void @_ZN6PR86231AD1Ev([[A]]* [[TMP]])
- // CHECK-NEXT: store i1 false, i1* [[LCONS]]
// CHECK-NEXT: br label
// CHECK: ret void
b ? A(2) : A(3);