re PR java/15656 (ICE segfault in lex.c)

PR java/15656:
	* parse.y (class_instance_creation_expression): Set `$$' to NULL
	in error parts of rule.
	(unary_expression): Don't call error_if_numeric_overflow when $1
	is NULL.

From-SVN: r88048
This commit is contained in:
Tom Tromey 2004-09-24 15:44:35 +00:00 committed by Tom Tromey
parent 013303df1b
commit 8d481c2e58
2 changed files with 21 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2004-09-24 Tom Tromey <tromey@redhat.com>
PR java/15656:
* parse.y (class_instance_creation_expression): Set `$$' to NULL
in error parts of rule.
(unary_expression): Don't call error_if_numeric_overflow when $1
is NULL.
2004-09-24 Tom Tromey <tromey@redhat.com>
PR java/16789:

View File

@ -2016,17 +2016,22 @@ class_instance_creation_expression:
}
| something_dot_new identifier OP_TK argument_list CP_TK class_body
| NEW_TK error SC_TK
{yyerror ("'(' expected"); DRECOVER(new_1);}
{$$ = NULL_TREE; yyerror ("'(' expected"); DRECOVER(new_1);}
| NEW_TK class_type error
{yyerror ("'(' expected"); RECOVER;}
{$$ = NULL_TREE; yyerror ("'(' expected"); RECOVER;}
| NEW_TK class_type OP_TK error
{yyerror ("')' or term expected"); RECOVER;}
{$$ = NULL_TREE; yyerror ("')' or term expected"); RECOVER;}
| NEW_TK class_type OP_TK argument_list error
{yyerror ("')' expected"); RECOVER;}
{$$ = NULL_TREE; yyerror ("')' expected"); RECOVER;}
| something_dot_new error
{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;}
{
$$ = NULL_TREE;
YYERROR_NOW;
yyerror ("Identifier expected");
RECOVER;
}
| something_dot_new identifier error
{yyerror ("'(' expected"); RECOVER;}
{$$ = NULL_TREE; yyerror ("'(' expected"); RECOVER;}
;
/* Created after JDK1.1 rules originally added to
@ -2343,7 +2348,8 @@ trap_overflow_corner_case:
unary_expression:
trap_overflow_corner_case
{
error_if_numeric_overflow ($1);
if ($1)
error_if_numeric_overflow ($1);
$$ = $1;
}
| MINUS_TK trap_overflow_corner_case