summaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 08:04:24 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 08:04:24 +0000
commite6261ab0446c3bee593879fb51aecd109a1e5b9b (patch)
tree847cd87faef7585b5efe77617a13a659c98d57f4 /gcc/cfgrtl.c
parentda29d1fd315b1ff27971ffc8e6c6fc03ac4ffb0c (diff)
downloadgcc-e6261ab0446c3bee593879fb51aecd109a1e5b9b.tar.gz
* cfgrtl.c (verify_flow_info): Accept degenerated condjumps
in cfglayout mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68694 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index d37666d9e57..f1dedde0c03 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1823,7 +1823,7 @@ rtl_verify_flow_info_1 (void)
FOR_EACH_BB_REVERSE (bb)
{
int n_fallthru = 0, n_eh = 0, n_call = 0, n_abnormal = 0, n_branch = 0;
- edge e;
+ edge e, fallthru = NULL;
rtx note;
if (INSN_P (bb->end)
@@ -1841,7 +1841,7 @@ rtl_verify_flow_info_1 (void)
for (e = bb->succ; e; e = e->succ_next)
{
if (e->flags & EDGE_FALLTHRU)
- n_fallthru++;
+ n_fallthru++, fallthru = e;
if ((e->flags & ~(EDGE_DFS_BACK | EDGE_CAN_FALLTHRU | EDGE_IRREDUCIBLE_LOOP)) == 0)
n_branch++;
@@ -1880,7 +1880,7 @@ rtl_verify_flow_info_1 (void)
err = 1;
}
if (n_branch != 1 && any_condjump_p (bb->end)
- && JUMP_LABEL (bb->end) != bb->next_bb->head)
+ && JUMP_LABEL (bb->end) != fallthru->dest->head)
{
error ("Wrong amount of branch edges after conditional jump %i", bb->index);
err = 1;