aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2021-04-06 22:17:33 -0400
committerMarek Polacek <polacek@redhat.com>2021-04-06 22:18:17 -0400
commita7698c0e1ecad65b1ab651acc82b34e12c7efd35 (patch)
tree786a126b7f1644112556ea9907f342e6255d0c3c /gcc
parent8cac6af6f8ba5cce69161459e572e59c2be60e75 (diff)
downloadgcc-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.C12
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;
+}