From 1befe47f64bf0b964be90730e2cbef550cb6d2b7 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Tue, 6 Feb 2024 11:44:44 -0500 Subject: [PATCH] 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 . PR c++/94231 gcc/testsuite/ChangeLog: * g++.dg/cpp0x/deleted17.C: New test. --- gcc/testsuite/g++.dg/cpp0x/deleted17.C | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/deleted17.C diff --git a/gcc/testsuite/g++.dg/cpp0x/deleted17.C b/gcc/testsuite/g++.dg/cpp0x/deleted17.C new file mode 100644 index 00000000000..3bebe881165 --- /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 +struct M { + F f; + M(); + M(const M&); + M(M&&); +}; + +template +M::M(M&&)=default; // { dg-error "use of deleted function" } + +M<> f() { + M<> m; + return m; +}