From: Jason Merrill Date: Thu, 9 Mar 2000 20:37:06 +0000 (+0000) Subject: except.c (nothrow_function_p): If -fno-exceptions, just return. X-Git-Tag: prereleases/libstdc++-2.92~7767 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fac62ecf5fdf1332717c3be95b0de745b10bd27e;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 57c48028c1ec..4ced7d6d1c5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2000-03-09 Jason Merrill + * except.c (nothrow_function_p): If -fno-exceptions, just return. + (init_eh_nesting_info): Likewise. + * tree.h (struct tree_common): Rename raises_flag to nothrow_flag. (TREE_NOTHROW): Rename from TREE_RAISES. * toplev.c (rest_of_compilation): Set it. diff --git a/gcc/except.c b/gcc/except.c index 987305a37989..e08ada284566 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;