aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-07-01 17:53:00 -0600
committerJeff Law <law@gcc.gnu.org>1999-07-01 17:53:00 -0600
commit9a2cab6e2bf1f6c2762c7d86939bd4a1477e0c3c (patch)
tree8a7ea865676f972ee21a083b697db5d4a550669d /gcc
parent2b12ffe08d94504c2dc796d087a29452b8b9b979 (diff)
downloadgcc-9a2cab6e2bf1f6c2762c7d86939bd4a1477e0c3c.zip
gcc-9a2cab6e2bf1f6c2762c7d86939bd4a1477e0c3c.tar.gz
gcc-9a2cab6e2bf1f6c2762c7d86939bd4a1477e0c3c.tar.bz2
except.c: Include intl.h.
X * except.c: Include intl.h. (expand_eh_return): Set current_function_cannot_inline. (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label. * function.h (struct function): Add eh_return_stub_label. * flow.c (delete_unreachable_blocks): Don't merge across EH edges. * Makefile.in (except.o): Depend on intl.h. From-SVN: r27909
Diffstat (limited to 'gcc')
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/flow.c1
-rw-r--r--gcc/function.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3b79e41..e5ceefe 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1475,7 +1475,7 @@ stmt.o : stmt.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h function.h \
loop.h $(RECOG_H) toplev.h output.h varray.h
except.o : except.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h \
function.h insn-flags.h $(EXPR_H) $(REGS_H) hard-reg-set.h \
- insn-config.h $(RECOG_H) output.h except.h toplev.h
+ insn-config.h $(RECOG_H) output.h except.h toplev.h intl.h
expr.o : expr.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h function.h \
$(REGS_H) insn-flags.h insn-codes.h $(EXPR_H) insn-config.h $(RECOG_H) \
output.h typeclass.h hard-reg-set.h toplev.h hard-reg-set.h except.h
diff --git a/gcc/flow.c b/gcc/flow.c
index 8b0a769..edcee29 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -1578,6 +1578,7 @@ delete_unreachable_blocks ()
/* A loop because chains of blocks might be combineable. */
while ((s = b->succ) != NULL
&& s->succ_next == NULL
+ && (s->flags & EDGE_EH) == 0
&& (c = s->dest) != EXIT_BLOCK_PTR
&& c->pred->pred_next == NULL
&& merge_blocks (s, b, c))
diff --git a/gcc/function.h b/gcc/function.h
index 297c4f0..c25933c 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -146,6 +146,7 @@ struct function
struct label_node *caught_return_label_stack;
tree protect_list;
rtx ehc;
+ rtx eh_return_stub_label;
/* For expr.c. */
rtx pending_chain;