diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/pr82560.C')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/pr82560.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr82560.C b/gcc/testsuite/g++.dg/cpp0x/pr82560.C new file mode 100644 index 00000000000..3408bae518e --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/pr82560.C @@ -0,0 +1,28 @@ +// { dg-do run { target c++11 } } +// PR82560, failed to destruct default arg inside new + +static int liveness = 0; + +struct Foo { + + Foo (int) { + liveness++; + } + + ~Foo() { + liveness--; + } + +}; + +struct Bar { + Bar (Foo = 0) { } + ~Bar() { } +}; + +int main() +{ + delete new Bar(); + + return liveness != 0;; +} |