1! { dg-do run }
2! { dg-additional-options "-ftree-vectorize -fno-guess-branch-probability" }
3module testmod
4  implicit none
5
6  contains
7
8  subroutine foo(n)
9    integer, intent(in) :: n
10    real :: r(0:n,-n:n), a(0:n,-n:n), dj
11    integer :: k, j
12
13    ! initialize with some dummy values
14    do j = -n, n
15      a(:, j) = j
16      r(:,j) = j + 1
17    end do
18
19    ! here be dragons
20    do k = 0, n
21      dj = r(k, k - 2) * a(k, k - 2)
22      r(k,k) = a(k, k - 1) * dj
23    enddo
24
25    if (r(0,0) .ne. -2.) STOP 1
26
27  end subroutine
28
29end module
30
31program test
32  use testmod
33  implicit none
34  call foo(5)
35end program
36