On Fri, Feb 14, 2025 at 04:20:07PM +0000, Simon Martin wrote:
> 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 } }

This fails with C++14:
FAIL: g++.dg/parse/defarg19.C  -std=c++14 (test for excess errors)

I think you want c++14_down.

Marek

Reply via email to