diff options
author | Jan Hubicka <jh@suse.cz> | 2005-05-11 18:25:30 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2005-05-11 16:25:30 +0000 |
commit | b4660e5a25f13ced54b19e637cdf5ed3d0ff1770 (patch) | |
tree | 9b77e37a7adbdb5597d14331019fbd8e25756e47 /gcc/except.c | |
parent | 3ca48b3e7251f931b0a8af263d31043078ffb701 (diff) | |
download | gcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.zip gcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.tar.gz gcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.tar.bz2 |
Makefile.in (tree-eh.o): Kill gt-tree-eh.h dependency.
* 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.
From-SVN: r99585
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c index 007c3e7..35105f9 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -251,6 +251,8 @@ struct eh_status GTY(()) rtx sjlj_fc; rtx sjlj_exit_after; + + htab_t GTY((param_is (struct throw_stmt_node))) throw_stmt_table; }; @@ -3436,6 +3438,18 @@ output_function_exception_table (void) current_function_section (current_function_decl); } +void +set_eh_throw_stmt_table (struct function *fun, struct htab *table) +{ + fun->eh->throw_stmt_table = table; +} + +htab_t +get_eh_throw_stmt_table (struct function *fun) +{ + return fun->eh->throw_stmt_table; +} + /* Dump EH information to OUT. */ void dump_eh_tree (FILE *out, struct function *fun) |