aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@cygnus.com>1999-08-10 16:19:16 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>1999-08-10 16:19:16 +0000
commit1ef1bf063b0a944563d37d7d079d9f860d149c0b (patch)
tree2b4a46a35a3de3f7ea944875d45ee6b88e31d370 /gcc/rtl.h
parenta8688bd6e92665a50b78fb7b5331c879f1f99801 (diff)
downloadgcc-1ef1bf063b0a944563d37d7d079d9f860d149c0b.zip
gcc-1ef1bf063b0a944563d37d7d079d9f860d149c0b.tar.gz
gcc-1ef1bf063b0a944563d37d7d079d9f860d149c0b.tar.bz2
except.h (eh_nesting_info): Add new structure defintion.
Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com> * except.h (eh_nesting_info): Add new structure defintion. (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes. (reachable_handlers, update_rethrow_references): Add function prototypes. * rtl.h (struct rtvec_def): Update comments. REG_EH_RETHROW takes a rethrow symbol instead of an integer exception region number. * flow.c (Make_edges): Use new exception nesting routines to determine which handlers are reachable from a CALL or asynchronous insn. Dont add an edge for calls with a REG_EH_REGION of -1 to non-local goto receivers. (delete_eh_regions): Update rethrow labels, and don't delete regions which are the target of a rethrow. * except.c (struct func_eh_entry): Add rethrow_ref field, now we can avoid overloading the SYMBOL_REF_USED flag. (rethrow_symbol_map): Use new rethrow_ref field. (rethrow_used): Use new rethrow_ref field. (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead of an integer. Fix formatting. (output_exception_table_entry): Use new rethrow_ref field. (can_throw): Check for EH_REGION_NOTE before deciding whether a CALL can throw or not. (scan_region): Call rethrow_used() instead of accessing data structure. (update_rethrow_references): New function to make sure only regions which are still targets of a rethrow are flagged as such. (process_nestinfo): New static function to initialize a handler list for a specific region. (init_eh_nesting_info): New function to allocate and initialize the list of all EH handlers reachable from all regions. (reachable_handlers): New function to retrieve the list of handlers reachable from a specific region and insn. (free_eh_nesting_info): New function to dispose of a list of reachable handlers. From-SVN: r28647
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 508aac3..705da5e 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -344,13 +344,13 @@ typedef struct rtvec_def{
rtx is used instead of intuition. */
/* REG_EH_REGION is used to indicate what exception region an INSN
belongs in. This can be used to indicate what region a call may throw
- to. A REGION of 0 indicates that a call cannot throw at all.
- A REGION of -1 indicates that it cannot throw, nor will it execute
+ to. a REGION of 0 indicates that a call cannot throw at all.
+ a REGION of -1 indicates that it cannot throw, nor will it execute
a non-local goto.
- REG_EH_RETHROW is used to indicate what that a call is actually a
- call to rethrow, and specifies which region the rethrow is targetting.
- This provides a way to generate the non standard flow edges required
- for a rethrow. */
+ REG_EH_RETHROW is used to indicate that a call is actually a
+ call to rethrow, and specifies the rethrow symbol for the region
+ the rethrow is targetting. This provides a way to generate the
+ non standard flow edges required for a rethrow. */
#define REG_NOTES(INSN) ((INSN)->fld[6].rtx)