aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2024-02-06 11:44:44 -0500
committerMarek Polacek <polacek@redhat.com>2024-02-06 11:48:05 -0500
commit1befe47f64bf0b964be90730e2cbef550cb6d2b7 (patch)
treef1679da503e56ba77e3fd19f23a6f02b53402461 /gcc
parent8ec2f1922a14ee3636840d1ebc1c40d26e6043a4 (diff)
downloadgcc-1befe47f64bf0b964be90730e2cbef550cb6d2b7.zip
gcc-1befe47f64bf0b964be90730e2cbef550cb6d2b7.tar.gz
gcc-1befe47f64bf0b964be90730e2cbef550cb6d2b7.tar.bz2
c++: add fixed test [PR94231]
I was suprised to find out that r14-8759 fixed this accepts-invalid. clang version 17.0.6 rejects the test as well; clang version 19.0.0git crashes for which I opened <https://github.com/llvm/llvm-project/issues/80869>. PR c++/94231 gcc/testsuite/ChangeLog: * g++.dg/cpp0x/deleted17.C: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/deleted17.C20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/deleted17.C b/gcc/testsuite/g++.dg/cpp0x/deleted17.C
new file mode 100644
index 0000000..3bebe88
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/deleted17.C
@@ -0,0 +1,20 @@
+// PR c++/94231
+// { dg-do compile { target c++11 } }
+
+struct F {F(F&&)=delete;};
+
+template<int=0>
+struct M {
+ F f;
+ M();
+ M(const M&);
+ M(M&&);
+};
+
+template<int I>
+M<I>::M(M&&)=default; // { dg-error "use of deleted function" }
+
+M<> f() {
+ M<> m;
+ return m;
+}