diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-11 16:25:30 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-11 16:25:30 +0000 |
commit | b3f1469f1cdec5757f03a2095c863454fa4d68b7 (patch) | |
tree | 9b77e37a7adbdb5597d14331019fbd8e25756e47 /gcc/except.h | |
parent | 6dda73e5cae79964b735b5fcb825a416ba98c07f (diff) | |
download | gcc-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.h | 12 |
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 *); |