summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@cygnus.com>1998-12-08 14:04:03 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>1998-12-08 14:04:03 +0000
commite6cfb550ab17484da95c0a3e94773fa42dccd27c (patch)
tree7f21607b0446aa635cee54fb52e2f750bc2be0d5 /gcc/except.h
parent2bfdc2d4e73144131b2e2de7ccfc1183f63175ac (diff)
downloadgcc-e6cfb550ab17484da95c0a3e94773fa42dccd27c.tar.gz
See ChangeLog..
Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com> See ChangeLog.. These are the files that were changed: * eh-common.h (struct eh_context): Add table_index for rethrows. * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes. * rtl.c (reg_note_name): Add strings for new reg_note enums. * expr.h (rethrow_libfunc): New library decl. * optabs.c (rethrow_libfunc): Initialize. * except.h (struct eh_entry): Add new field 'rethrow_label'. * except.c (create_rethrow_ref): New function to create a single * flow.c (make_edges): Add different edges for rethrow calls, * integrate.c (save_for_inline_eh_labelmap): New callback routine to * libgcc2.c (find_exception_handler): Generalize to enable it to * cp/except.c * cp/exception.cc From-SVN: r24194
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 540044bde02..5b4b3db4ed2 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -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
@@ -177,13 +178,6 @@ typedef struct handler_info
} 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
@@ -208,8 +202,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. */