From 3ec33c573b159d074ee81976e655a39a0f3bf647 Mon Sep 17 00:00:00 2001 From: mrs Date: Tue, 29 Apr 1997 20:03:15 +0000 Subject: * 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 --- gcc/except.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gcc/except.h') 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. -- cgit v1.2.1