summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>1997-04-29 20:03:15 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>1997-04-29 20:03:15 +0000
commit3ec33c573b159d074ee81976e655a39a0f3bf647 (patch)
tree6e5501b204bbdd872d5ff15586006547e3e92809 /gcc/except.h
parentbf1e7d9a0aca52ac22a3af67c4fdd7f40726ff33 (diff)
downloadgcc-3ec33c573b159d074ee81976e655a39a0f3bf647.tar.gz
* except.c (expand_eh_region_start_tree): Add DECL argument so we
can better track why the region was made for error reporting. * except.h (expand_eh_region_start_tree): Likewise. * tree.h (expand_dhc_cleanup): Likewise. (expand_dcc_cleanup): Likewise. * except.c (expand_eh_region_start_for_decl): New routine. * except.h (expand_eh_region_start_for_decl): Likewise. * stmt.c (expand_decl_cleanup): Add DECL to call of expand_eh_region_start_tree. (expand_dcc_cleanup): Likewise. (expand_dhc_cleanup): Likewise. (expand_start_case): Switches introduce conditional contexts. (expand_start_case_dummy): Likewise. (expand_start_case_dummy): Likewise. (expand_end_case): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13990 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/except.h b/gcc/except.h
index e939afa88c7..8d4c5a63539 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -88,6 +88,13 @@ struct eh_queue {
extern void expand_eh_region_start PROTO((void));
+/* Just like expand_eh_region_start, except if a cleanup action is
+ entered on the cleanup chain, the TREE_PURPOSE of the element put
+ on the chain is DECL. DECL should be the associated VAR_DECL, if
+ any, otherwise it should be NULL_TREE. */
+
+extern void expand_eh_region_start_for_decl PROTO((tree));
+
/* Start an exception handling region for the given cleanup action.
All instructions emitted after this point are considered to be part
of the region until expand_eh_region_end () is invoked. CLEANUP is
@@ -100,7 +107,7 @@ extern void expand_eh_region_start PROTO((void));
generation, and optimizes it so as to not need the exception
region. */
-extern int expand_eh_region_start_tree PROTO((tree));
+extern int expand_eh_region_start_tree PROTO((tree, tree));
/* End an exception handling region. The information about the region
is found on the top of ehstack.