parse.y (bad_decl, [...]): New nonterminals.

* parse.y (bad_decl, template_arg_list_ignore, arg_list_ignore):
	New nonterminals.
	(data_def, component_decl): Add reductions to bad_decl.

Co-Authored-By: Joe Buck <jbuck@synopsys.com>

From-SVN: r40752
This commit is contained in:
Gerald Pfeifer 2001-03-22 19:44:21 +01:00 committed by Gerald Pfeifer
parent b6b14b1bb4
commit fd8b7a0ed9
2 changed files with 30 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2001-03-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
based on an idea from Joe Buck <jbuck@synopsys.com>
* parse.y (bad_decl, template_arg_list_ignore, arg_list_ignore):
New nonterminals.
(data_def, component_decl): Add reductions to bad_decl.
2001-03-22 Jakub Jelinek <jakub@redhat.com>
* method.c (do_build_assign_ref): Don't use build_modify_expr for

View File

@ -733,6 +733,7 @@ datadef:
| error ';'
| error '}'
| ';'
| bad_decl
;
ctor_initializer_opt:
@ -2590,6 +2591,8 @@ component_decl:
$$ = finish_member_class_template ($2.t);
finish_template_decl ($1);
}
| bad_decl
{ $$ = NULL_TREE; }
;
component_decl_1:
@ -3761,6 +3764,26 @@ bad_parm:
}
;
bad_decl:
IDENTIFIER template_arg_list_ignore IDENTIFIER arg_list_ignore ';'
{
cp_error("'%D' is used as a type, but is not defined as a type.", $1);
$3 = error_mark_node;
}
;
template_arg_list_ignore:
'<' template_arg_list_opt template_close_bracket
{ }
| /* empty */
;
arg_list_ignore:
'(' nonnull_exprlist ')'
{ }
| /* empty */
;
exception_specification_opt:
/* empty */ %prec EMPTY
{ $$ = NULL_TREE; }