* cp/parser.c (cp_parser_template_parameter): Early out with
error_mark_node if parameter declaration was not parsed.
+ PR c++/59629
+ * cp/parser.c (cp_parser_lambda_expression): Save/reset/restore
+ auto_is_implicit_function_template_parm_p around lambda body.
+
2014-01-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/58950
= parser->fully_implicit_function_template_p;
tree implicit_template_parms = parser->implicit_template_parms;
cp_binding_level* implicit_template_scope = parser->implicit_template_scope;
+ bool auto_is_implicit_function_template_parm_p
+ = parser->auto_is_implicit_function_template_parm_p;
parser->num_template_parameter_lists = 0;
parser->in_statement = 0;
parser->fully_implicit_function_template_p = false;
parser->implicit_template_parms = 0;
parser->implicit_template_scope = 0;
+ parser->auto_is_implicit_function_template_parm_p = false;
/* By virtue of defining a local class, a lambda expression has access to
the private variables of enclosing classes. */
= fully_implicit_function_template_p;
parser->implicit_template_parms = implicit_template_parms;
parser->implicit_template_scope = implicit_template_scope;
+ parser->auto_is_implicit_function_template_parm_p
+ = auto_is_implicit_function_template_parm_p;
}
pop_deferring_access_checks ();
PR c++/59635
PR c++/59636
+ PR c++/59629
* g++.dg/cpp1y/pr59635.C: New testcase.
* g++.dg/cpp1y/pr59636.C: New testcase.
+ * g++.dg/cpp1y/pr59629.C: New testcase.
2014-01-06 Martin Jambor <mjambor@suse.cz>