Mon Jan 25 17:39:19 1999 Andrew Haley <aph@cygnus.com>
* except.c, java-except.h (expand_resume_after_catch): new
function.
* expr.c (java_lang_expand_expr): call expand_resume_after_catch
to branch back to main flow of control after a catch block.
From-SVN: r24857
+Mon Jan 25 17:39:19 1999 Andrew Haley <aph@cygnus.com>
+
+ * except.c, java-except.h (expand_resume_after_catch): new
+ function.
+ * expr.c (java_lang_expand_expr): call expand_resume_after_catch
+ to branch back to main flow of control after a catch block.
+
Sat Jan 23 23:02:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (parse.o): Depend on $(CONFIG_H) and
emit_label (funcend);
}
}
+
+/* Resume executing at the statement immediately after the end of an
+ exception region. */
+
+void
+expand_resume_after_catch ()
+{
+ expand_goto (top_label_entry (&caught_return_label_stack));
+}
start_catch_handler (prepare_eh_table_type (type));
expand_expr_stmt (TREE_OPERAND (current, 0));
- /* Need to expand a goto to the end of the function here,
- but not for the catch everything handler. */
- if (type)
- {
- if (return_label)
- emit_jump (return_label);
- else
- fatal ("No return_label for this function - "
- "java_lang_expand_expr");
- }
+ expand_resume_after_catch ();
end_catch_handler ();
}
extern int add_handler PROTO ((int, int, tree, tree));
+extern void expand_resume_after_catch PROTO ((void));