[gcc r14-8830] c++: add fixed test [PR94231]

Marek Polacek mpolacek@gcc.gnu.org
Tue Feb 6 16:49:49 GMT 2024


https://gcc.gnu.org/g:1befe47f64bf0b964be90730e2cbef550cb6d2b7

commit r14-8830-g1befe47f64bf0b964be90730e2cbef550cb6d2b7
Author: Marek Polacek <polacek@redhat.com>
Date:   Tue Feb 6 11:44:44 2024 -0500

    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.

Diff:
---
 gcc/testsuite/g++.dg/cpp0x/deleted17.C | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gcc/testsuite/g++.dg/cpp0x/deleted17.C b/gcc/testsuite/g++.dg/cpp0x/deleted17.C
new file mode 100644
index 000000000000..3bebe8811653
--- /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;
+}


More information about the Gcc-cvs mailing list