For PR java/5794:
authorJesse Rosenstock <jmr@ugcs.caltech.edu>
Wed, 11 Sep 2002 19:37:03 +0000 (19:37 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 11 Sep 2002 19:37:03 +0000 (19:37 +0000)
2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

For PR java/5794:
* verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
return label if a ret instruction for the jsr has been reached.

From-SVN: r57035

gcc/java/ChangeLog
gcc/java/verify.c

index b95e8aec40b07c594007b620a9e5dd9d32cbea04..63d036a53e43d46f66ab881422260b3af3833577 100644 (file)
@@ -1,3 +1,9 @@
+2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>
+
+       For PR java/5794:
+       * verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
+       return label if a ret instruction for the jsr has been reached.
+
 2002-09-09  Ranjit Mathew  <rmathew@hotmail.com>
 
        * parse.y (DIR_SEPARATOR): Don't define.
index c3b3b98a84d1743eb9f5b8776645830a3345601e..081116815f4d485045c7a8d185e33f8944f4ab6b 100644 (file)
@@ -1,6 +1,6 @@
 /* Handle verification of bytecoded methods for the GNU compiler for 
    the Java(TM) language.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -1326,7 +1326,8 @@ verify_jvm_instructions (jcf, byte_ops, length)
                      type_map[len] = TREE_VEC_ELT (return_map, len);
                  }
                current_subr = LABEL_SUBR_CONTEXT (target);
-               PUSH_PENDING (return_label);
+               if (RETURN_MAP_ADJUSTED (return_map))
+                 PUSH_PENDING (return_label);
              }
 
            INVALIDATE_PC;