$ cat imploop.f90
program main
  call foo(5)
end program main

subroutine foo(n)
  implicit none
  integer :: n, i
  real, dimension(5) :: a,b
  print *,n
  a = (/(i,i=n,1,-1)/)
  print *,a
  b = (/(i,i=5,1,-1)/)
  print *,b
end subroutine foo
$ gfortran imploop.f90
$ ./a.out
           5
   1.000000     -1.0737444E+09   4.000000       0.000000      1.0741898E+09
   5.000000       4.000000       3.000000       2.000000       1.000000
$ gfortran -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1/configure --prefix=/home/ig25 
--enable-languages=c,f95
Thread model: posix
gcc version 4.1.0 20050523 (experimental)
$

-- 
           Summary: Wrong implied do-loop
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tkoenig at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to