Revert r118991.

Elidable CXXConstructExpr should inhibit calling destructor for temporary 
that is copied, not the one created. This is because eliding copy constructor 
means that the object that was to be copied will be constructed directly in 
memory the copy would be constructed in.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119044 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Analysis/temp-obj-dtors-cfg-output.cpp b/test/Analysis/temp-obj-dtors-cfg-output.cpp
index adf509b..594c91b 100644
--- a/test/Analysis/temp-obj-dtors-cfg-output.cpp
+++ b/test/Analysis/temp-obj-dtors-cfg-output.cpp
@@ -264,11 +264,14 @@
 // CHECK:    Successors (2): B3 B2
 // CHECK: [ B5 ]
 // CHECK:      1: ~A() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
 // CHECK:    Predecessors (1): B7
 // CHECK:    Successors (1): B4
 // CHECK: [ B6 ]
 // CHECK:      1: ~A() (Temporary object destructor)
-// CHECK:      2: ~B() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
+// CHECK:      3: ~A() (Temporary object destructor)
+// CHECK:      4: ~B() (Temporary object destructor)
 // CHECK:    Predecessors (1): B7
 // CHECK:    Successors (1): B4
 // CHECK: [ B7 ]
@@ -308,11 +311,14 @@
 // CHECK:    Successors (1): B0
 // CHECK: [ B2 ]
 // CHECK:      1: ~A() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
 // CHECK:    Predecessors (1): B4
 // CHECK:    Successors (1): B1
 // CHECK: [ B3 ]
 // CHECK:      1: ~A() (Temporary object destructor)
-// CHECK:      2: ~B() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
+// CHECK:      3: ~A() (Temporary object destructor)
+// CHECK:      4: ~B() (Temporary object destructor)
 // CHECK:    Predecessors (1): B4
 // CHECK:    Successors (1): B1
 // CHECK: [ B4 ]
@@ -345,7 +351,8 @@
 // CHECK:    Successors (1): B7
 // CHECK: [ B9 ]
 // CHECK:      1: ~A() (Temporary object destructor)
-// CHECK:      2: ~B() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
+// CHECK:      3: ~B() (Temporary object destructor)
 // CHECK:    Predecessors (1): B10
 // CHECK:    Successors (1): B7
 // CHECK: [ B10 ]
@@ -385,6 +392,7 @@
 // CHECK:    Successors (1): B0
 // CHECK: [ B2 ]
 // CHECK:      1: ~A() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
 // CHECK:    Predecessors (1): B3
 // CHECK:    Successors (1): B1
 // CHECK: [ B3 ]
@@ -418,6 +426,7 @@
 // CHECK:    Successors (1): B0
 // CHECK: [ B2 ]
 // CHECK:      1: ~A() (Temporary object destructor)
+// CHECK:      2: ~A() (Temporary object destructor)
 // CHECK:    Predecessors (1): B3
 // CHECK:    Successors (1): B1
 // CHECK: [ B3 ]