summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-11 16:25:30 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-11 16:25:30 +0000
commitb3f1469f1cdec5757f03a2095c863454fa4d68b7 (patch)
tree9b77e37a7adbdb5597d14331019fbd8e25756e47 /gcc/except.h
parent6dda73e5cae79964b735b5fcb825a416ba98c07f (diff)
downloadgcc-b3f1469f1cdec5757f03a2095c863454fa4d68b7.tar.gz
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
(GTFILES): add except.h. * except.c (eh_status): Add throw_stmt_table. (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions. * except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn, lookup_stmt_eh_region_fn): Declare. (throw_stmt_node): New structure. (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New. * gengtype.c (open_base_files): Add except.h to inlines. * tree-eh.c (throw_stmt_node): Kill. (record_stmt_eh_region): Update. (add_stmt_to_eh_region_fn): Break out from ... (add_stmt_to_eh_region): ... here. (remove_stmt_from_eh_region_fn): Break out from ... (remove_stmt_from_eh_region): ... here. (lookup_stmt_eh_region_fn): Break out from ... (lookup_stmt_eh_region): ... here. (honor_protect_cleanup_actions): Use build_resx. (lower_try_finally_onedest): Likewise. (lower_try_finally_copy): Likewise. (lower_try_finally_switch): Likewise. (lower_eh_constructs): Update eh table construction. * tree.c (build_resx): New. * tree.h (build_resx): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99585 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 06fb78d5588..746b3d4aca8 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -105,6 +105,9 @@ extern void verify_eh_tree (struct function *);
extern void dump_eh_tree (FILE *, struct function *);
/* tree-eh.c */
+extern void add_stmt_to_eh_region_fn (struct function *, tree, int);
+extern bool remove_stmt_from_eh_region_fn (struct function *, tree);
+extern int lookup_stmt_eh_region_fn (struct function *, tree);
extern int lookup_stmt_eh_region (tree);
extern bool verify_eh_edges (tree);
@@ -158,3 +161,12 @@ extern tree (*lang_eh_runtime_type) (tree);
#else
# define USING_SJLJ_EXCEPTIONS MUST_USE_SJLJ_EXCEPTIONS
#endif
+
+struct throw_stmt_node GTY(())
+{
+ tree stmt;
+ int region_nr;
+};
+
+extern struct htab *get_eh_throw_stmt_table (struct function *);
+extern void set_eh_throw_stmt_table (struct function *, struct htab *);