Commit f8989a66 by Alexandre Petit-Bianco Committed by Alexandre Petit-Bianco

[multiple changes]

2000-01-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (formal_parameter:): Set `$$' to NULL_TREE for better
	error handling/recovery.
	* java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment.

Wed Jan 12 20:20:11 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* jcf-write.c (generate_bytecode_insns): binop: Change the type of
	the shift value to int. Fixed typo in comment.

From-SVN: r31695
parent 114356ad
2000-01-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (formal_parameter:): Set `$$' to NULL_TREE for better
error handling/recovery.
* java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment.
2000-01-27 Andrew Haley <aph@cygnus.com> 2000-01-27 Andrew Haley <aph@cygnus.com>
* jcf-write.c (emit_goto): RESERVE 3 bytes for insn. * jcf-write.c (emit_goto): RESERVE 3 bytes for insn.
...@@ -68,6 +74,11 @@ Mon Jan 17 11:58:17 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de> ...@@ -68,6 +74,11 @@ Mon Jan 17 11:58:17 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de>
* parse.y (build_string_concatenation): Only use * parse.y (build_string_concatenation): Only use
StringBuffer(String) shortcut if String arg is constant. StringBuffer(String) shortcut if String arg is constant.
Wed Jan 12 20:20:11 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_bytecode_insns): binop: Change the type of
the shift value to int. Fixed typo in comment.
2000-01-11 Mumit Khan <khan@xraylith.wisc.edu> 2000-01-11 Mumit Khan <khan@xraylith.wisc.edu>
* jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros. * jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros.
......
...@@ -51,7 +51,7 @@ DEFTREECODE (TRY_EXPR, "try-catch-finally", 'e', 2) ...@@ -51,7 +51,7 @@ DEFTREECODE (TRY_EXPR, "try-catch-finally", 'e', 2)
DEFTREECODE (CATCH_EXPR, "catch", '1', 1) DEFTREECODE (CATCH_EXPR, "catch", '1', 1)
/* Synchronized statement. /* Synchronized statement.
Operand 0 is the expression on which we whish to synchronize, Operand 0 is the expression on which we wish to synchronize,
Operand 1 is the synchronized expression block. */ Operand 1 is the synchronized expression block. */
DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2) DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2)
......
...@@ -2089,11 +2089,13 @@ generate_bytecode_insns (exp, target, state) ...@@ -2089,11 +2089,13 @@ generate_bytecode_insns (exp, target, state)
else else
{ {
generate_bytecode_insns (arg0, target, state); generate_bytecode_insns (arg0, target, state);
if (jopcode >= OPCODE_lshl && jopcode <= OPCODE_lushr)
arg1 = convert (int_type_node, arg1);
generate_bytecode_insns (arg1, target, state); generate_bytecode_insns (arg1, target, state);
} }
/* For most binary operations, both operands and the result have the /* For most binary operations, both operands and the result have the
same type. Shift operations are different. Using arg1's type same type. Shift operations are different. Using arg1's type
gets us the correct SP adjustment in all casesd. */ gets us the correct SP adjustment in all cases. */
if (target == STACK_TARGET) if (target == STACK_TARGET)
emit_binop (jopcode, TREE_TYPE (arg1), state); emit_binop (jopcode, TREE_TYPE (arg1), state);
break; break;
......
...@@ -971,10 +971,14 @@ formal_parameter: ...@@ -971,10 +971,14 @@ formal_parameter:
$$ = build_tree_list ($3, $2); $$ = build_tree_list ($3, $2);
} }
| type error | type error
{yyerror ("Missing identifier"); RECOVER;} {
yyerror ("Missing identifier"); RECOVER;
$$ = NULL_TREE;
}
| final type error | final type error
{ {
yyerror ("Missing identifier"); RECOVER; yyerror ("Missing identifier"); RECOVER;
$$ = NULL_TREE;
} }
; ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment