OSDN Git Service

* mkconfig.sh: Include insn-flags.h.
[pf3gnuchains/gcc-fork.git] / gcc / except.h
index a1408c3..b6450d3 100644 (file)
@@ -120,6 +120,8 @@ struct eh_status
   /* Insns for all of the exception handlers for the current function.
      They are currently emitted by the frontend code.  */
   rtx x_catch_clauses;
+  /* End of exception handler insn sequence.  */
+  rtx x_catch_clauses_last;
   /* A random data area for the front end's own use.  */
   struct label_node *x_false_label_stack;
   /* Keeps track of the label to resume to should one want to resume
@@ -142,6 +144,7 @@ struct eh_status
 #define catchstack (cfun->eh->x_catchstack)
 #define ehqueue (cfun->eh->x_ehqueue)
 #define catch_clauses (cfun->eh->x_catch_clauses)
+#define catch_clauses_last (cfun->eh->x_catch_clauses_last)
 #define false_label_stack (cfun->eh->x_false_label_stack)
 #define caught_return_label_stack (cfun->eh->x_caught_return_label_stack)
 #define protect_list (cfun->eh->x_protect_list)
@@ -351,6 +354,16 @@ extern int exception_table_p                       PARAMS ((void));
 /* Outputs the exception table if we have one.  */
 
 extern void output_exception_table             PARAMS ((void));
+extern void output_exception_table_data                PARAMS ((void));
+
+/* Free the exception table.  */
+
+extern void free_exception_table               PARAMS((void));
+
+/* Used by the ia64 unwind format to output data for an individual 
+   function.  */
+
+extern void output_function_exception_table    PARAMS((void));
 
 /* Given a return address in ADDR, determine the address we should use
    to find the corresponding EH region.  */
@@ -427,6 +440,14 @@ extern struct label_node *outer_context_label_stack;
 
 extern rtx exception_handler_labels;
 
+/* Determine if the given INSN can throw an exception.  */
+
+extern int can_throw                            PARAMS ((rtx));
+
+/* Return nonzero if nothing in this function can throw.  */
+
+extern int nothrow_function_p                  PARAMS ((void));
+
 /* Performs optimizations for exception handling, such as removing
    unnecessary exception regions. Invoked from jump_optimize ().  */