This section of code is used in a bootloader to test DRAM.

It loops over the DRAM performing various operations of reads and writes.

When optimization (O2 or Os) is switched on the second loop in this example no
longer terminates, but continues indefinitely because the loop condition has
been removed from the optimized code


-- 
           Summary: Optimizer removes condition check to terminate loop
           Product: gcc
           Version: 4.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: nick dot spence at freescale dot com
 GCC build triplet: gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)
  GCC host triplet: i386-redhat-linux
GCC target triplet: i386-redhat-linux


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

Reply via email to