1! RUN: %llvmgcc -S %s 2! PR2437 3program main 4 implicit none 5 call build (77) 6contains 7 subroutine build (order) 8 integer :: order, i, j 9 10 11 call test (1, order, 3, (/ (i, i = 1, order, 3) /)) 12 call test (order, 1, -3, (/ (i, i = order, 1, -3) /)) 13 14 do j = -10, 10 15 call test (order + j, order, 5, (/ (i, i = order + j, order, 5) /)) 16 call test (order + j, order, -5, (/ (i, i = order + j, order, -5) /)) 17 end do 18 19 end subroutine build 20 21 subroutine test (from, to, step, values) 22 integer, dimension (:) :: values 23 integer :: from, to, step, last, i 24 25 last = 0 26 do i = from, to, step 27 last = last + 1 28 if (values (last) .ne. i) call abort 29 end do 30 if (size (values, dim = 1) .ne. last) call abort 31 end subroutine test 32end program main 33