+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:
 
                }
 |      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
 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