[Bug rtl-optimization/17861] New: loop optimizer generates wrong code

rguenth at tat dot physik dot uni-tuebingen dot de gcc-bugzilla@gcc.gnu.org
Wed Oct 6 13:05:00 GMT 2004


extern void abort();
int foo=100;
inline int f ()
{
 foo = 0;
}
void main ()
{
 int i;
 for (i = 0; i < foo; i++)
     f ();
 if (i != 1)
   abort();
}

generates wrong code with 2.95.x through 3.4.x (but fixed / worked around on
mainline) with -O2.  Maybe someone can trigger the failure on mainline by
disabling the right tree-optimization.

See http://gcc.gnu.org/ml/gcc/2004-10/msg00172.html and followups.

-- 
           Summary: loop optimizer generates wrong code
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at tat dot physik dot uni-tuebingen dot de
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17861



More information about the Gcc-bugs mailing list