diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2019-08-28 18:44:42 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2019-08-28 18:44:42 +0000 |
commit | ead98ea3eb4e207be7ca003b612b68b7dfbb8f7e (patch) | |
tree | 5c646f192bc8620036c4a7b20f27d038597aab6a /clang/test/Analysis/auto-obj-dtors-cfg-output.cpp | |
parent | 630f7daf80fe36d3aa4a9ebe60e7abefae514bba (diff) | |
download | bcm5719-llvm-ead98ea3eb4e207be7ca003b612b68b7dfbb8f7e.tar.gz bcm5719-llvm-ead98ea3eb4e207be7ca003b612b68b7dfbb8f7e.zip |
[CFG] Make representation of destructor calls more accurate.
Respect C++17 copy elision; previously it would generate destructor calls
for elided temporaries, including in initialization and return statements.
Don't generate duplicate destructor calls for statement expressions.
Fix destructors in initialization lists and comma operators.
Improve printing of implicit destructors.
Patch by Nicholas Allegra!
Differential Revision: https://reviews.llvm.org/D66404
llvm-svn: 370247
Diffstat (limited to 'clang/test/Analysis/auto-obj-dtors-cfg-output.cpp')
-rw-r--r-- | clang/test/Analysis/auto-obj-dtors-cfg-output.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp b/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp index 7e678a1ec78..716eaf3c0fb 100644 --- a/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp +++ b/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp @@ -334,7 +334,7 @@ void test_aggregate_array_lifetime_extension() { // CHECK-NEXT: 61: ~A() (Temporary object destructor) // CHECK-NEXT: 62: ~A() (Temporary object destructor) // CHECK-NEXT: 63: ~A() (Temporary object destructor) -// CHECK-NEXT: 64: [B1.57].~D() (Implicit destructor) +// CHECK-NEXT: 64: [B1.57].~D [2]() (Implicit destructor) // CHECK-NEXT: 65: [B1.18].~D() (Implicit destructor) // CHECK-NEXT: Preds (1): B2 // CHECK-NEXT: Succs (1): B0 @@ -363,7 +363,7 @@ void test_aggregate_with_nontrivial_own_destructor() { // WARNINGS-NEXT: 3: (CXXConstructExpr, class A [0]) // ANALYZER-NEXT: 3: (CXXConstructExpr, [B1.4], class A [0]) // CHECK-NEXT: 4: A b[0]; -// CHECK-NEXT: 5: [B1.2].~A() (Implicit destructor) +// CHECK-NEXT: 5: [B1.2].~A [2]() (Implicit destructor) // CHECK-NEXT: Preds (1): B2 // CHECK-NEXT: Succs (1): B0 // CHECK: [B0 (EXIT)] |