The change for bug 31399 makes the "DO" variable inconsistent after loop:

[EMAIL PROTECTED] loop-1]$ cat foo.f90 
  integer(kind=1) :: i
  integer(kind=8) :: c = 0

  do i = 1, 5, 1
    c = c + 1
  end do
  print *, i
  if (i /= 6) call abort
  do i = 1, 5, 2
    c = c + 1
  end do
  print *, i
  if (i /= 7) call abort
  end
[EMAIL PROTECTED] loop-1]$ /usr/gcc-4.3/bin/gfortran foo.f90 -static 
[EMAIL PROTECTED] loop-1]$ ./a.out 
    6
    5
Aborted
[EMAIL PROTECTED] loop-1]$ /usr/gcc-4.2/bin/gfortran foo.f90 -static 
[EMAIL PROTECTED] loop-1]$ ./a.out 
    6
    7
[EMAIL PROTECTED] loop-1]$


-- 
           Summary: [4.3 Regression] The "DO" variable isn't consistent
                    after loop
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl at lucon dot org
OtherBugsDependingO 31399
             nThis:


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

Reply via email to