OSDN Git Service

* cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jan 2003 20:16:22 +0000 (20:16 +0000)
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jan 2003 20:16:22 +0000 (20:16 +0000)
flag before setting it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61345 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfganal.c

index 06387e8..4063e78 100644 (file)
@@ -1,3 +1,8 @@
+2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
+
+       * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
+       flag before setting it.
+
 2003-01-15  Roger Sayle  <roger@eyesopen.com>
 
        * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
index a787817..325a64d 100644 (file)
@@ -225,10 +225,14 @@ set_edge_can_fallthru_flag ()
     {
       edge e;
 
-      /* The FALLTHRU edge is also CAN_FALLTHRU edge.  */
       for (e = bb->succ; e; e = e->succ_next)
-       if (e->flags & EDGE_FALLTHRU)
-         e->flags |= EDGE_CAN_FALLTHRU;
+       {
+         e->flags &= ~EDGE_CAN_FALLTHRU;
+
+         /* The FALLTHRU edge is also CAN_FALLTHRU edge.  */
+         if (e->flags & EDGE_FALLTHRU)
+           e->flags |= EDGE_CAN_FALLTHRU;
+       }
 
       /* If the BB ends with an invertable condjump all (2) edges are
         CAN_FALLTHRU edges.  */