aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-05-11 18:25:30 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2005-05-11 16:25:30 +0000
commitb4660e5a25f13ced54b19e637cdf5ed3d0ff1770 (patch)
tree9b77e37a7adbdb5597d14331019fbd8e25756e47 /gcc/except.c
parent3ca48b3e7251f931b0a8af263d31043078ffb701 (diff)
downloadgcc-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.c14
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)