aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-05-17 19:19:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-05-17 19:19:46 +0200
commitf145213fcc63518e181ae5b74a38f75555f6a741 (patch)
treef89cca49d50e0a51d31da3cd6577dce11dce4f37 /gcc/cfglayout.c
parentf1de5107b0c0240cff8df7d678ad78847bdff6b0 (diff)
downloadgcc-f145213fcc63518e181ae5b74a38f75555f6a741.zip
gcc-f145213fcc63518e181ae5b74a38f75555f6a741.tar.gz
gcc-f145213fcc63518e181ae5b74a38f75555f6a741.tar.bz2
re PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:796)
PR bootstrap/42347 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p to have no fallthru edge. * gcc.c-torture/compile/pr42347.c: New test. From-SVN: r159496
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r--gcc/cfglayout.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 7ba289f..5e12057 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -793,7 +793,8 @@ fixup_reorder_chain (void)
to prevent rtl_verify_flow_info from complaining. */
if (!e_fall)
{
- gcc_assert (!onlyjump_p (bb_end_insn));
+ gcc_assert (!onlyjump_p (bb_end_insn)
+ || returnjump_p (bb_end_insn));
bb->il.rtl->footer = emit_barrier_after (bb_end_insn);
continue;
}