diff options
| author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 20:37:06 +0000 |
|---|---|---|
| committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 20:37:06 +0000 |
| commit | 8b4f3d64313a1a9d3f6cf4afb2ebbacb84573c13 (patch) | |
| tree | 7cf7a5f7baf42a5a5daa57ed4984e4a6d21acc47 /gcc/except.c | |
| parent | 00dd2e9ea804989f813c9a71256a930f075495b5 (diff) | |
| download | ppe42-gcc-8b4f3d64313a1a9d3f6cf4afb2ebbacb84573c13.tar.gz ppe42-gcc-8b4f3d64313a1a9d3f6cf4afb2ebbacb84573c13.zip | |
* except.c (nothrow_function_p): If -fno-exceptions, just return.
(init_eh_nesting_info): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32454 138bc75d-0d04-0410-961f-82ee72b054a4
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 987305a3798..e08ada28456 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; |

