[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
This commit is contained in:
Alexandre Petit-Bianco 2000-01-29 22:40:07 +00:00 committed by Alexandre Petit-Bianco
parent 114356ad7c
commit f8989a66b8
5 changed files with 625 additions and 536 deletions

View File

@ -1,3 +1,9 @@
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>
* 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>
* parse.y (build_string_concatenation): Only use
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>
* jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros.

View File

@ -51,7 +51,7 @@ DEFTREECODE (TRY_EXPR, "try-catch-finally", 'e', 2)
DEFTREECODE (CATCH_EXPR, "catch", '1', 1)
/* 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. */
DEFTREECODE (SYNCHRONIZED_EXPR, "synchronized", 'e', 2)

View File

@ -2089,11 +2089,13 @@ generate_bytecode_insns (exp, target, state)
else
{
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);
}
/* For most binary operations, both operands and the result have the
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)
emit_binop (jopcode, TREE_TYPE (arg1), state);
break;

File diff suppressed because it is too large Load Diff

View File

@ -971,10 +971,14 @@ formal_parameter:
$$ = build_tree_list ($3, $2);
}
| type error
{yyerror ("Missing identifier"); RECOVER;}
{
yyerror ("Missing identifier"); RECOVER;
$$ = NULL_TREE;
}
| final type error
{
yyerror ("Missing identifier"); RECOVER;
$$ = NULL_TREE;
}
;