summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-16 00:05:29 +0000
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-16 00:05:29 +0000
commit333b5b5444981a5f9ff808afccdfbd82e5a02c04 (patch)
tree47c003e5fda0d849252fa5da30922b5b0e325a33
parent1f6ce78d4b906cea7ef4e10eb59c772d61c68aeb (diff)
downloadgcc-333b5b5444981a5f9ff808afccdfbd82e5a02c04.tar.gz
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) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35733 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/java/ChangeLog13
-rw-r--r--gcc/java/jcf-write.c5
-rw-r--r--gcc/java/verify.c2
3 files changed, 16 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 8569ddcdf13..4c889b0aba0 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 df50fffd80c..7ab1518fb8e 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 3aff5e45955..4c2e4c8b1d3 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;