http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51521
--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-13 14:07:49 UTC --- (In reply to comment #4) > (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. 'I've done full 3 stage build for all front-ends, then 'make bootstrap', then diff output of 'make check-gcc -j16 RUNTESTFLAGS="dg.exp"'' That is wrong. You should do 'make check-gcc -j16', without restricting the set of testcases run to dg.exp. Please revert your patch and do proper testing.