https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123566

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -12841,6 +12841,9 @@ cp_parser_lambda_expression (cp_parser* parser,
     bool save_in_expansion_stmt = in_expansion_stmt;
     in_expansion_stmt = 0;

+    int saved_processing_template_parmlist = processing_template_parmlist;
+    processing_template_parmlist = 0;
+
     /* By virtue of defining a local class, a lambda expression has access to
        the private variables of enclosing classes.  */

@@ -12876,6 +12879,7 @@ cp_parser_lambda_expression (cp_parser* parser,
     pop_bindings_and_leave_scope ();
     finish_struct (type, /*attributes=*/NULL_TREE);

+    processing_template_parmlist = saved_processing_template_parmlist;
     in_expansion_stmt = save_in_expansion_stmt;
     in_consteval_if_p = save_in_consteval_if_p;
     in_discarded_stmt = discarded;
doesn't fix any of those ICEs.

Reply via email to