[Bug fortran/42131] Weird translation of DO loops

tkoenig at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Nov 21 23:07:00 GMT 2009



------- Comment #6 from tkoenig at gcc dot gnu dot org  2009-11-21 23:07 -------
Created an attachment (id=19076)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19076&action=view)
proposed patch

This patch generates

    D.1336 = m1;
    D.1337 = m2;
    D.1338 = m3;
    i = D.1336;
    if (D.1338 > 0)
      {
        if (D.1337 < D.1336) goto L.2;
      }
    else
      {
        if (D.1337 > D.1336) goto L.2;
      }
    countm1.1 = (character(kind=4)) (D.1337 - D.1336) / (character(kind=4))
D.1338;
    while (1)
      {
        {

Is this better, or did I overlook anything?


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |tkoenig at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED


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



More information about the Gcc-bugs mailing list