diff options
author | Andrew MacLeod <amacleod@cygnus.com> | 1998-12-08 14:04:03 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 1998-12-08 14:04:03 +0000 |
commit | e6cfb550ab17484da95c0a3e94773fa42dccd27c (patch) | |
tree | 7f21607b0446aa635cee54fb52e2f750bc2be0d5 /gcc/except.h | |
parent | 2bfdc2d4e73144131b2e2de7ccfc1183f63175ac (diff) | |
download | gcc-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.h | 21 |
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. */ |