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