jcf-write.c (generate_bytecode_conditional): Re-installed lost Jan 6 2000 patch.
authorAlexandre Petit-Bianco <apbianco@cygnus.com>
Wed, 16 Aug 2000 00:05:29 +0000 (00:05 +0000)
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Wed, 16 Aug 2000 00:05:29 +0000 (17:05 -0700)
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

gcc/java/ChangeLog
gcc/java/jcf-write.c
gcc/java/verify.c

index 8569ddcdf138abace5673d4ac0fbae690a190b5c..4c889b0aba020fbb0b84e7eff206608d020043d7 100644 (file)
@@ -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
index df50fffd80c4c89e4c9def22a898533ce3efe22c..7ab1518fb8e120befce9a853a8f8c402475c1d66 100644 (file)
@@ -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);
              }
index 3aff5e4595500f8986488e56fc38d68e64676491..4c2e4c8b1d3a77954f41780f0265846e8f58a6dd 100644 (file)
@@ -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;