diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-30 08:04:24 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-30 08:04:24 +0000 |
commit | e6261ab0446c3bee593879fb51aecd109a1e5b9b (patch) | |
tree | 847cd87faef7585b5efe77617a13a659c98d57f4 /gcc/cfgrtl.c | |
parent | da29d1fd315b1ff27971ffc8e6c6fc03ac4ffb0c (diff) | |
download | gcc-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.c | 6 |
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; |