From 23114b697a3357b7c4166f9841123d2318bdd264 Mon Sep 17 00:00:00 2001 From: Jesse Rosenstock Date: Wed, 11 Sep 2002 19:37:03 +0000 Subject: [PATCH] For PR java/5794: 2002-09-03 Jesse Rosenstock 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 | 6 ++++++ gcc/java/verify.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index b95e8aec40b..63d036a53e4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2002-09-03 Jesse Rosenstock + + 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 * parse.y (DIR_SEPARATOR): Don't define. diff --git a/gcc/java/verify.c b/gcc/java/verify.c index c3b3b98a84d..081116815f4 100644 --- a/gcc/java/verify.c +++ b/gcc/java/verify.c @@ -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; -- 2.30.2