OSDN Git Service

gcc/fortran/
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / do_iterator_2.f90
1 ! { dg-do run }
2 ! Tests the fix for pr32613 - see:
3 ! http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/495c154ee188d7f1/ea292134fe68b1d0#ea292134fe68b1d0
4 !
5 ! Contributed by Al Greynolds <awgreynolds@earthlink.net>
6 !
7 program main
8   call something
9 end
10
11 subroutine something
12 !  integer i !correct results from gfortran depend on this statement (before fix)
13   integer :: m = 0
14   character lit*1, line*100
15   lit(i) = line(i:i)
16   i = 1
17   n = 5
18   line = 'PZ0R1'
19   if (internal (1)) call abort ()
20   if (m .ne. 4) call abort ()
21 contains
22   logical function internal (j)
23     intent(in) j
24     do i = j, n
25       k = index ('RE', lit (i))
26       m = m + 1
27       if (k == 0) cycle
28       if (i + 1 == n) exit
29     enddo
30     internal = (k == 0)
31   end function
32 end