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