summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 46b1f47879e..abfeb478ea6 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -201,6 +201,11 @@ extern void expand_internal_throw PROTO((void));
extern void expand_leftover_cleanups PROTO((void));
+/* If necessary, emit insns to get EH context for the current
+ function. */
+
+extern void emit_eh_context PROTO((void));
+
/* If necessary, emit insns for the start of per-function unwinder for
the current function. */
@@ -240,21 +245,29 @@ extern struct label_node *false_label_stack;
extern rtx exception_handler_labels;
-/* The rtx for the saved PC value. */
-
-extern rtx eh_saved_pc_rtx;
-
/* Performs optimizations for exception handling, such as removing
unnecessary exception regions. Invoked from jump_optimize (). */
extern void exception_optimize PROTO((void));
+/* Use EH context once per fn. */
+extern rtx use_eh_context PROTO((void));
+
+/* Get the EH contex only once per fn. */
+extern rtx get_eh_context_once PROTO((void));
+
+/* Get the EH contex. */
+extern rtx get_eh_context PROTO((void));
+
/* Get the dynamic handler chain. */
extern rtx get_dynamic_handler_chain PROTO((void));
/* Get the dynamic cleanup chain. */
extern rtx get_dynamic_cleanup_chain PROTO((void));
+/* Get the saved PC variable. */
+extern rtx get_saved_pc_ref PROTO((void));
+
/* Throw an exception. */
extern void emit_throw PROTO((void));