aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorAndrew Haley <aph@cygnus.com>2000-02-09 14:08:44 +0000
committerAndrew Haley <aph@gcc.gnu.org>2000-02-09 14:08:44 +0000
commite8b22dd136b0adf813976ca738c7d96d101b3452 (patch)
treeb67485a68e46fde7b7d44642f8af9498d8fe9b03 /gcc/java/java-tree.h
parent665792ebecf527818aa1fcaf31b90307204cef30 (diff)
downloadgcc-e8b22dd136b0adf813976ca738c7d96d101b3452.zip
gcc-e8b22dd136b0adf813976ca738c7d96d101b3452.tar.gz
gcc-e8b22dd136b0adf813976ca738c7d96d101b3452.tar.bz2
java-except.h (struct eh_range): Add `expanded' field.
2000-01-25 Andrew Haley <aph@cygnus.com> * java-except.h (struct eh_range): Add `expanded' field. (maybe_start_try): Add end_pc arg. (maybe_end_try): Ditto. * java-tree.h (force_poplevels): new function. * expr.c (expand_byte_code): Don't call maybe_start_try or maybe_end_try. * except.c (add_handler): Reset expanded. (expand_start_java_handler): Set expanded. (check_start_handlers): Don't expand a start handler that's already been expanded. (maybe_start_try): Add end_pc arg. Only expand a handler which ends after end_pc. (expand_end_java_handler): call force_poplevels. (force_poplevels): new function. * decl.c (binding_level): Add start_pc of binding level. (maybe_pushlevels): Call maybe_start_try when pushing binding levels. (maybe_poplevels): Call maybe_end_try when popping binding levels. (LARGEST_PC): Define. (clear_binding_level): Use LARGEST_PC. * java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define. * decl.c (DEBUG_JAVA_BINDING_LEVELS): new define. (binding_depth, is_class_level, current_pc): new variables. (struct binding_level): ditto. (indent): new function. (push_jvm_slot): add debugging info. (maybe_pushlevels): ditto. (maybe_poplevels): ditto. (pushlevel): ditto. (poplevel): ditto. (start_java_method): ditto. (give_name_to_locals): comment only. * except.c (binding_depth, is_class_level, current_pc): new variables. (expand_start_java_handler): add debugging info. (expand_end_java_handler): ditto. From-SVN: r31861
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r--gcc/java/java-tree.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index a8370c4..288a6cb 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -592,6 +592,7 @@ extern int class_depth PARAMS ((tree));
extern int verify_jvm_instructions PARAMS ((struct JCF *, const unsigned char *, long));
extern void maybe_pushlevels PARAMS ((int));
extern void maybe_poplevels PARAMS ((int));
+extern void force_poplevels PARAMS ((int));
extern int process_jvm_instruction PARAMS ((int, const unsigned char *, long));
extern void set_local_type PARAMS ((int, tree));
extern int merge_type_state PARAMS ((tree));
@@ -944,3 +945,5 @@ extern int java_error_count; \
if (java_error_count > save_error_count) \
return; \
}
+
+#undef DEBUG_JAVA_BINDING_LEVELS