aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1997-04-29 20:03:15 +0000
committerMike Stump <mrs@gcc.gnu.org>1997-04-29 20:03:15 +0000
commit4c58124363e36ea1e835819b31e91c13109665b8 (patch)
tree6e5501b204bbdd872d5ff15586006547e3e92809 /gcc/except.h
parent9c6cd30ed515ec543a3258e9c96006364a6e42cb (diff)
downloadgcc-4c58124363e36ea1e835819b31e91c13109665b8.zip
gcc-4c58124363e36ea1e835819b31e91c13109665b8.tar.gz
gcc-4c58124363e36ea1e835819b31e91c13109665b8.tar.bz2
except.c (expand_eh_region_start_tree): Add DECL argument so we can better track why the region was made for error...
* 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. From-SVN: r13990
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 e939afa8..8d4c5a6 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.