aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 607544706e3..0ebdd9f3275 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -1,5 +1,5 @@
/* Exception Handling interface routines.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GNU CC.
@@ -65,6 +65,7 @@ struct eh_entry {
tree finalization;
int label_used;
rtx false_label;
+ rtx rethrow_label;
};
/* A list of EH_ENTRYs. ENTRY is the entry; CHAIN points to the next
@@ -228,19 +229,13 @@ void set_exception_version_code PROTO((int));
typedef struct handler_info
{
- rtx handler_label;
+ rtx handler_label;
+ int handler_number;
void *type_info;
struct handler_info *next;
} handler_info;
-/* Add a new eh_entry for this function, The parameter specifies what
- exception region number NOTE insns use to delimit this range.
- The integer returned is uniquely identifies this exception range
- within an internal table. */
-
-int new_eh_region_entry PROTO((int));
-
/* Add new handler information to an exception range. The first parameter
specifies the range number (returned from new_eh_entry()). The second
parameter specifies the handler. By default the handler is inserted at
@@ -265,8 +260,19 @@ struct handler_info *get_new_handler PROTO((rtx, void *));
/* Make a duplicate of an exception region by copying all the handlers
for an exception region. Return the new handler index. */
-int duplicate_handlers PROTO((int, int));
+int duplicate_eh_handlers PROTO((int, int, rtx (*)(rtx)));
+
+/* map symbol refs for rethrow */
+
+rtx rethrow_symbol_map PROTO((rtx, rtx (*)(rtx)));
+
+/* Is the rethrow label for a region used? */
+
+int rethrow_used PROTO((int));
+
+/* Return the region number a this is the rethrow label for. */
+int eh_region_from_symbol PROTO((rtx));
/* Get a pointer to the first handler in an exception region's list. */