diff options
author | Jason Merrill <jason@redhat.com> | 2018-03-13 11:55:07 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2018-03-13 11:55:07 -0400 |
commit | 426c1e2ec7b42902a80a20cb3965a69061b8345b (patch) | |
tree | 9bf6a0902709e286b6f0fc18edb549616545fbea /gcc/cp | |
parent | f99309b288733c88d5369af11a6c11dcc307ff49 (diff) | |
download | gcc-426c1e2ec7b42902a80a20cb3965a69061b8345b.zip gcc-426c1e2ec7b42902a80a20cb3965a69061b8345b.tar.gz gcc-426c1e2ec7b42902a80a20cb3965a69061b8345b.tar.bz2 |
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
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/parser.c | 5 |
2 files changed, 10 insertions, 1 deletions
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 <jason@redhat.com> + + 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 <jakub@redhat.com> 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; |