From 426c1e2ec7b42902a80a20cb3965a69061b8345b Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 13 Mar 2018 11:55:07 -0400 Subject: PR c++/84798 - ICE with auto in abstract function declarator. * parser.c (cp_parser_parameter_declaration_clause): Check parser->default_arg_ok_p. From-SVN: r258493 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/parser.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'gcc/cp') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9b5f0c3..d480c1b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2018-03-13 Jason Merrill + + PR c++/84798 - ICE with auto in abstract function declarator. + * parser.c (cp_parser_parameter_declaration_clause): Check + parser->default_arg_ok_p. + 2018-03-13 Jakub Jelinek PR c++/84808 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index cdc6238..8e8ebce 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -21198,7 +21198,10 @@ cp_parser_parameter_declaration_clause (cp_parser* parser) if (!processing_specialization && !processing_template_parmlist - && !processing_explicit_instantiation) + && !processing_explicit_instantiation + /* default_arg_ok_p tracks whether this is a parameter-clause for an + actual function or a random abstract declarator. */ + && parser->default_arg_ok_p) if (!current_function_decl || (current_class_type && LAMBDA_TYPE_P (current_class_type))) parser->auto_is_implicit_function_template_parm_p = true; -- cgit v1.1