cfgrtl.c (verify_flow_info): Accept degenerated condjumps in cfglayout mode.
authorJan Hubicka <jh@suse.cz>
Mon, 30 Jun 2003 08:04:24 +0000 (10:04 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 30 Jun 2003 08:04:24 +0000 (08:04 +0000)
* cfgrtl.c (verify_flow_info): Accept degenerated condjumps
in cfglayout mode.

From-SVN: r68694

gcc/ChangeLog
gcc/cfgrtl.c

index fafbdb9..d5d0c50 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jun 30 10:03:02 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cfgrtl.c (verify_flow_info): Accept degenerated condjumps
+       in cfglayout mode.
+
 Mon Jun 30 09:52:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * i386.c (standard_80387_constant_p): Accept TFmode constants too.
index d37666d..f1dedde 100644 (file)
@@ -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;