diff options
author | Marek Polacek <polacek@redhat.com> | 2021-04-06 22:17:33 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2021-04-06 22:18:17 -0400 |
commit | a7698c0e1ecad65b1ab651acc82b34e12c7efd35 (patch) | |
tree | 786a126b7f1644112556ea9907f342e6255d0c3c /gcc | |
parent | 8cac6af6f8ba5cce69161459e572e59c2be60e75 (diff) | |
download | gcc-a7698c0e1ecad65b1ab651acc82b34e12c7efd35.zip gcc-a7698c0e1ecad65b1ab651acc82b34e12c7efd35.tar.gz gcc-a7698c0e1ecad65b1ab651acc82b34e12c7efd35.tar.bz2 |
c++: Add test for Core issue 1376 [PR52202]
As Jens says in the PR, we handle this correctly.
gcc/testsuite/ChangeLog:
PR c++/52202
* g++.dg/cpp0x/rv-life.C: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/rv-life.C | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/rv-life.C b/gcc/testsuite/g++.dg/cpp0x/rv-life.C new file mode 100644 index 0000000..0fd1119 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/rv-life.C @@ -0,0 +1,12 @@ +// Core 1376 +// PR c++/52202 +// { dg-do run { target c++11 } } + +extern "C" void abort(); +bool x; +struct T { ~T() { if (!x) abort (); } }; +int main() +{ + T&& r = static_cast<T&&>(T()); + x = true; +} |