summaryrefslogtreecommitdiffstats
path: root/gcc/java/verify.c
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-24 01:13:30 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-24 01:13:30 +0000
commite722e1a88538456e8f42aab2414d0fd49e218df2 (patch)
treeb1eef7b31ca3d14d2d241bc45c3318313375f660 /gcc/java/verify.c
parent85dee3e86c19116d1129c6d556cbbd6231c1d252 (diff)
downloadppe42-gcc-e722e1a88538456e8f42aab2414d0fd49e218df2.tar.gz
ppe42-gcc-e722e1a88538456e8f42aab2414d0fd49e218df2.zip
e
* verify.c (verify_jvm_instructions): Replace 3 pop_type by POP_TYPE macro for better error pin-pointing. * java-tree.h: Fix typo in comment. * jcf-write.c (generate_bytecode_insns): Changes to TRY_FINALLY_EXPR. Don't include jsr/goto in exception range. Check if start and end of exception range are the same (also TRY_EXPR). Don't emit jsr after try_block if CAN_COMPLETE_NORMALLY is false. However, do emit the following goto even if try_block is empty. Defer freeing exception_decl until after the finalizer, to make sure the local isn't reused in the finalizer. Fixes PR java/1208. * parse.y (java_complete_lhs): If the try-clause is empty, just return the finally-clause and vice versa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40801 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/verify.c')
-rw-r--r--gcc/java/verify.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/java/verify.c b/gcc/java/verify.c
index bb10b447c95..9b83363cf55 100644
--- a/gcc/java/verify.c
+++ b/gcc/java/verify.c
@@ -1137,7 +1137,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
case OPCODE_athrow:
/* FIXME: athrow also empties the stack. */
- pop_type (throwable_type_node);
+ POP_TYPE (throwable_type_node, "missing throwable at athrow" );
INVALIDATE_PC;
break;
@@ -1156,7 +1156,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
{
jint low, high;
- pop_type (int_type_node);
+ POP_TYPE (int_type_node, "missing int for tableswitch");
while (PC%4)
{
if (byte_ops[PC++])
@@ -1179,7 +1179,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
{
jint npairs, last = 0, not_registered = 1;
- pop_type (int_type_node);
+ POP_TYPE (int_type_node, "missing int for lookupswitch");
while (PC%4)
{
if (byte_ops[PC++])
OpenPOWER on IntegriCloud