http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51521
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011-12-13 Target Milestone|--- |4.7.0 Ever Confirmed|0 |1 --- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-13 14:05:45 UTC --- (In reply to comment #3) > Hi Richard, > > May you please take a look at this message where I describe why I had done the > change: > http://codereview.appspot.com/5486043/#msg6 > > The edge w/o EDGE_FALLTHRU also causes internal errors when I try to split it. > > > The EDGE_FALLTHRU flag is wrong if any of EDGE_TRUE/FALSE_* is added which > is probably what happens. Thus the patch was wrong. > > But when I set EDGE_FALLTHRU there is no EDGE_TRUE/FALSE_* yet (the flags were > 0). So, isn't it who adds EDGE_TRUE/FALSE_* must reset EDGE_FALLTHRU? See at the single user of the function you changed. It continues to add BBs and edges. Please debug the new testsuite failures (which you should have seen during your testing) and see why your flag setting is incorrect.