aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-11-25 19:21:27 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-11-25 19:21:27 +0000
commit76fc91c7c857105e5079f28415201a7dd95d363d (patch)
treee11758241a48589de283764322a42a688c5bb539 /gcc/except.h
parent913d08334a78012ba496b669bc0077a98d6e9b3c (diff)
downloadgcc-76fc91c7c857105e5079f28415201a7dd95d363d.zip
gcc-76fc91c7c857105e5079f28415201a7dd95d363d.tar.gz
gcc-76fc91c7c857105e5079f28415201a7dd95d363d.tar.bz2
except.h (eh_status): Adjust documentation for x_protect_list.
* except.h (eh_status): Adjust documentation for x_protect_list. (begin_protect_partials): New function. * except.c (enqueue_eh_entry): Fix formatting. (get_first_handler): Add consistency check. (add_partial_entry): Adjust usage of protect_list. (emit_cleanup_handler): Save and restore ehqueue. (expand_start_all_catch): Add comment. (begin_protect_partials): New function. (end_protect_partials): Adjust usage of protect_list. (init_eh_for_function): Use xcalloc. From-SVN: r30667
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/except.h b/gcc/except.h
index eafeaa9..6f15ff0 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -125,9 +125,10 @@ struct eh_status
normal control flow out of a handler (instead of, say, returning to
the caller of the current function or exiting the program). */
struct label_node *x_caught_return_label_stack;
- /* A TREE_CHAINed list of handlers for regions that are not yet
- closed. The TREE_VALUE of each entry contains the handler for the
- corresponding entry on the ehstack. */
+ /* A stack (TREE_LIST) of lists of handlers. The TREE_VALUE of each
+ node is itself a TREE_CHAINed list of handlers for regions that
+ are not yet closed. The TREE_VALUE of each entry contains the
+ handler for the corresponding entry on the ehstack. */
union tree_node *x_protect_list;
/* The EH context. Nonzero if the function has already
fetched a pointer to the EH context for exception handling. */
@@ -368,6 +369,11 @@ extern void expand_start_all_catch PROTO((void));
extern void expand_end_all_catch PROTO((void));
+/* Begin a region that will contain entries created with
+ add_partial_entry. */
+
+extern void begin_protect_partials PROTO((void));
+
#ifdef TREE_CODE
/* Create a new exception region and add the handler for the region
onto a list. These regions will be ended (and their handlers