diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 2000-08-16 00:05:29 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-08-15 17:05:29 -0700 |
commit | 81baa09a56392e03742b4b253b9fd82b3ecbd783 (patch) | |
tree | 47c003e5fda0d849252fa5da30922b5b0e325a33 /gcc/java | |
parent | f507188ad0d1632b463e3f9f46967497db91fc5e (diff) | |
download | gcc-81baa09a56392e03742b4b253b9fd82b3ecbd783.zip gcc-81baa09a56392e03742b4b253b9fd82b3ecbd783.tar.gz gcc-81baa09a56392e03742b4b253b9fd82b3ecbd783.tar.bz2 |
jcf-write.c (generate_bytecode_conditional): Re-installed lost Jan 6 2000 patch.
2000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_bytecode_conditional): Re-installed lost
Jan 6 2000 patch.
(generate_bytecode_insns): Check `nargs' before emitting it.
* verify.c (merge_type_state): Fixed typo.
* ChangeLog: Fixed typo in some jcf-write.c entries mentioning
generate_bytecode_{conditional,insns}.
(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00617.html)
From-SVN: r35733
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/java/jcf-write.c | 5 | ||||
-rw-r--r-- | gcc/java/verify.c | 2 |
3 files changed, 16 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 8569ddc..4c889b0 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,12 @@ +2000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * jcf-write.c (generate_bytecode_conditional): Re-installed lost + Jan 6 2000 patch. + (generate_bytecode_insns): Check `nargs' before emitting it. + * verify.c (merge_type_state): Fixed typo. + * ChangeLog: Fixed typo in some jcf-write.c entries mentioning + generate_bytecode_{conditional,insns}. + Sun Aug 13 09:41:49 2000 Anthony Green <green@redhat.com> * check-init.c (check_init): Add case for BIT_FIELD_REF (required @@ -2176,7 +2185,7 @@ Thu Jan 6 16:31:28 2000 Anthony Green <green@cygnus.com> Thu Jan 6 00:54:10 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> - * jcf-write.c (generate_byecode_conditional): Fixed indentation in + * jcf-write.c (generate_bytecode_conditional): Fixed indentation in method invocation and typo in conditional expression. (generate_bytecode_insns): COND_EXPR can be part of a binop. Issue the appropriate NOTE_POP. @@ -2363,7 +2372,7 @@ Tue Nov 30 12:36:15 1999 Anthony Green <green@cygnus.com> Tue Nov 30 12:28:34 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> - * jcf-write.c (generate_byecode_insns): Fixed indentation for + * jcf-write.c (generate_bytecode_insns): Fixed indentation for COMPOUND_EXPR and FIX_TRUNC_EXPR cases. * parse.y (patch_assignment): Removed bogus final class test on diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index df50fff..7ab1518 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -1254,7 +1254,7 @@ generate_bytecode_conditional (exp, true_label, false_label, } if (integer_zerop (exp1) || integer_zerop (exp0)) { - generate_bytecode_insns (integer_zerop (exp1) ? exp0 : exp0, + generate_bytecode_insns (integer_zerop (exp0) ? exp1 : exp0, STACK_TARGET, state); op = op + (OPCODE_ifnull - OPCODE_if_acmpeq); negop = (op & 1) ? op - 1 : op + 1; @@ -2565,6 +2565,9 @@ generate_bytecode_insns (exp, target, state) if (interface) { DECL_CONTEXT (f) = saved_context; + if (nargs <= 0) + fatal ("Illegal number of arguments to invokeinterface, nargs=%d", + nargs); OP1 (nargs); OP1 (0); } diff --git a/gcc/java/verify.c b/gcc/java/verify.c index 3aff5e4..4c2e4c8 100644 --- a/gcc/java/verify.c +++ b/gcc/java/verify.c @@ -212,7 +212,7 @@ int merge_type_state (label) tree label; { - int nlocals = DECL_MAX_LOCALS(current_function_decl); + int nlocals = DECL_MAX_LOCALS (current_function_decl); int cur_length = stack_pointer + nlocals; tree vec = LABEL_TYPE_STATE (label); tree return_map; |