aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>2000-03-09 20:37:06 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-03-09 15:37:06 -0500
commitfac62ecf5fdf1332717c3be95b0de745b10bd27e (patch)
tree7cf7a5f7baf42a5a5daa57ed4984e4a6d21acc47 /gcc/except.c
parent12a22e76d64eca6e3b54949121b5c5820e189ee1 (diff)
downloadgcc-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.c9
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;