diff options
author | Jason Merrill <jason@casey.cygnus.com> | 2000-03-09 20:37:06 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-03-09 15:37:06 -0500 |
commit | fac62ecf5fdf1332717c3be95b0de745b10bd27e (patch) | |
tree | 7cf7a5f7baf42a5a5daa57ed4984e4a6d21acc47 /gcc/except.c | |
parent | 12a22e76d64eca6e3b54949121b5c5820e189ee1 (diff) | |
download | gcc-fac62ecf5fdf1332717c3be95b0de745b10bd27e.zip gcc-fac62ecf5fdf1332717c3be95b0de745b10bd27e.tar.gz gcc-fac62ecf5fdf1332717c3be95b0de745b10bd27e.tar.bz2 |
except.c (nothrow_function_p): If -fno-exceptions, just return.
* except.c (nothrow_function_p): If -fno-exceptions, just return.
(init_eh_nesting_info): Likewise.
From-SVN: r32454
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c index 987305a..e08ada2 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2651,6 +2651,9 @@ nothrow_function_p () { rtx insn; + if (! flag_exceptions) + return 1; + for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) if (can_throw (insn)) return 0; @@ -3185,6 +3188,7 @@ in_same_eh_region (insn1, insn2) yet. At some point in the future we can trim out handlers which we know cannot be called. (ie, if a block has an INT type handler, control will never be passed to an outer INT type handler). */ + static void process_nestinfo (block, info, nested_eh_region) int block; @@ -3263,6 +3267,7 @@ process_nestinfo (block, info, nested_eh_region) /* This function will allocate and initialize an eh_nesting_info structure. It returns a pointer to the completed data structure. If there are no exception regions, a NULL value is returned. */ + eh_nesting_info * init_eh_nesting_info () { @@ -3273,6 +3278,9 @@ init_eh_nesting_info () rtx insn; int x; + if (! flag_exceptions) + return 0; + info = (eh_nesting_info *) xmalloc (sizeof (eh_nesting_info)); info->region_index = (int *) xcalloc ((max_label_num () + 1), sizeof (int)); nested_eh_region = (int *) xcalloc (max_label_num () + 1, sizeof (int)); @@ -3343,6 +3351,7 @@ init_eh_nesting_info () HANDLERS is the address of a pointer to a vector of handler_info pointers. Upon return, this will have the handlers which can be reached by block. This function returns the number of elements in the handlers vector. */ + int reachable_handlers (block, info, insn, handlers) int block; |