[Bug c++/105541] [12/13 Regression] ICE: Segmentation fault when template lambda in requires-clause

2022-05-11 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Jason Merrill :

https://gcc.gnu.org/g:88459c3965e2a2f62ab4d4c8b2ac8460b1a15c33

commit r13-332-g88459c3965e2a2f62ab4d4c8b2ac8460b1a15c33
Author: Jason Merrill 
Date:   Wed May 11 14:53:26 2022 -0400

c++: lambda template in requires [PR105541]

Since the patch for PR103408, the template parameters for the lambda in
this
test have level 1 instead of 2, and we were treating null template args as
1
level of arguments, so tsubst_template_parms decided it had nothing to do.
Fixed by distinguishing between <> and no args at all, which is what we
have
in our "substitution" in a requires-expression.

PR c++/105541

gcc/cp/ChangeLog:

* cp-tree.h (TMPL_ARGS_DEPTH): 0 for null args.
* parser.cc (cp_parser_enclosed_template_argument_list):
Use 0-length TREE_VEC for <>.

gcc/testsuite/ChangeLog:

* g++.dg/cpp2a/lambda-requires1.C: New test.

[Bug c++/105541] [12/13 Regression] ICE: Segmentation fault when template lambda in requires-clause

2022-05-10 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541

--- Comment #4 from Jason Merrill  ---
Simpler:

static_assert(requires { []{}; });

[Bug c++/105541] [12/13 Regression] ICE: Segmentation fault when template lambda in requires-clause

2022-05-10 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541

Jason Merrill  changed:

   What|Removed |Added

   Keywords|rejects-valid   |ice-on-valid-code
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 CC||jason at gcc dot gnu.org
   Priority|P3  |P1
 Status|NEW |ASSIGNED

--- Comment #3 from Jason Merrill  ---
P1 then.  Broken by my r12-7997-g1de6612d994ada.

[Bug c++/105541] [12/13 Regression] ICE: Segmentation fault when template lambda in requires-clause

2022-05-10 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541

Marek Polacek  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 CC||mpolacek at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2022-05-10

--- Comment #2 from Marek Polacek  ---
Confirmed.

[Bug c++/105541] [12/13 Regression] ICE: Segmentation fault when template lambda in requires-clause

2022-05-10 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |12.2
Summary|ICE: Segmentation fault |[12/13 Regression] ICE:
   |when template lambda in |Segmentation fault when
   |requires-clause |template lambda in
   ||requires-clause