https://gcc.gnu.org/g:6302f478433166f71464bc06caf5701c1800a7e7
commit r15-7574-g6302f478433166f71464bc06caf5701c1800a7e7 Author: Simon Martin <si...@nasilyan.com> Date: Sun Feb 16 11:00:19 2025 +0100 c++: Add testcase for now fixed issue [PR117324] The case in this PR does not ICE anymore after the fix for PR118319. This patch simply adds the case to the testsuite. PR c++/117324 gcc/testsuite/ChangeLog: * g++.dg/parse/defarg19.C: New test. Diff: --- gcc/testsuite/g++.dg/parse/defarg19.C | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gcc/testsuite/g++.dg/parse/defarg19.C b/gcc/testsuite/g++.dg/parse/defarg19.C new file mode 100644 index 000000000000..df0819ae6a5e --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/defarg19.C @@ -0,0 +1,12 @@ +// PR c++/117324 +// { dg-do "compile" { target c++11 } } + +template<typename = int> +struct ct1 { + friend void f(ct1, // { dg-error "specifies default" } + int = [](int p = [] {}) { return p; }(); ) // { dg-error "expected|declares a non-template" } + {} +}; +void test() { + f(ct1{}); // { dg-error "missing template arguments|not declared" "" { target c++14_down } } +}