X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fexcept.h;h=1f96477f2e0366d5320a368f73e08b4e0fd1b494;hp=9188c3bb60fa75644df4226f36be01c3e2d57568;hb=1b575dc71d765379aa36d4de406c8da4b17c3a5c;hpb=e4bbf4c11869851e0e70d761bbca79fa79a69366 diff --git a/gcc/except.h b/gcc/except.h index 9188c3bb60f..1f96477f2e0 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -17,8 +17,8 @@ for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. */ struct function; @@ -52,7 +52,7 @@ extern bool can_throw_external_1 (int, bool); extern bool can_throw_external (rtx); /* Set TREE_NOTHROW and cfun->all_throwers_are_sibcalls. */ -extern void set_nothrow_function_flags (void); +extern unsigned int set_nothrow_function_flags (void); /* After initial rtl generation, call back to finish generating exception support code. */ @@ -65,7 +65,7 @@ extern rtx reachable_handlers (rtx); extern void maybe_remove_eh_handler (rtx); extern void convert_from_eh_region_ranges (void); -extern void convert_to_eh_region_ranges (void); +extern unsigned int convert_to_eh_region_ranges (void); extern void find_exception_handler_labels (void); extern bool current_function_has_exception_handlers (void); extern void output_function_exception_table (void); @@ -82,9 +82,11 @@ extern rtx expand_builtin_extend_pointer (tree); extern rtx get_exception_pointer (struct function *); extern rtx get_exception_filter (struct function *); typedef tree (*duplicate_eh_regions_map) (tree, void *); -extern int duplicate_eh_regions (struct function *, duplicate_eh_regions_map, void *, int); +extern int duplicate_eh_regions (struct function *, duplicate_eh_regions_map, + void *, int, int); extern void sjlj_emit_function_exit_after (rtx); +extern void default_init_unwind_resume_libfunc (void); extern struct eh_region *gen_eh_region_cleanup (struct eh_region *, struct eh_region *); @@ -105,6 +107,8 @@ extern void collect_eh_region_array (void); extern void expand_resx_expr (tree); extern void verify_eh_tree (struct function *); extern void dump_eh_tree (FILE *, struct function *); +extern bool eh_region_outer_p (struct function *, int, int); +extern int eh_region_outermost (struct function *, int, int); /* tree-eh.c */ extern void add_stmt_to_eh_region_fn (struct function *, tree, int); @@ -172,3 +176,7 @@ struct throw_stmt_node GTY(()) extern struct htab *get_eh_throw_stmt_table (struct function *); extern void set_eh_throw_stmt_table (struct function *, struct htab *); + +#ifdef ENABLE_CHECKING +extern void verify_eh_throw_table_statements (void); +#endif