The case in this PR does not ICE anymore after the fix for PR118319. This patch simply adds the case to the testsuite.
Successfully tested on x86_64-apple-darwin19.6.0. PR c++/117324 gcc/testsuite/ChangeLog: * g++.dg/parse/defarg19.C: New test. --- gcc/testsuite/g++.dg/parse/defarg19.C | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 gcc/testsuite/g++.dg/parse/defarg19.C diff --git a/gcc/testsuite/g++.dg/parse/defarg19.C b/gcc/testsuite/g++.dg/parse/defarg19.C new file mode 100644 index 00000000000..bb8bab28d93 --- /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++11_down } } +} -- 2.44.0