blob: 593acf917ee63d92cdce43fbd159f89a50918f11 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-Ofast" }
module m
implicit none
private
save
integer, parameter, public :: &
ii4 = selected_int_kind(6), &
rr8 = selected_real_kind(13)
integer (ii4), dimension(40,40,199), public :: xyz
public :: foo
contains
subroutine foo(a)
real (rr8), dimension(40,40), intent(out) :: a
real (rr8), dimension(40,40) :: b
integer (ii4), dimension(40,40) :: c
integer i, j
j = 10
do i=11,30
b(i,j) = 123 * a(i,j) + 34 * a(i,j+1) &
+ 34 * a(i,j-1) + a(i+1,j+1) &
+ a(i+1,j-1) + a(i-1,j+1) &
+ a(i-1,j-1)
c(i,j) = 123
end do
where ((xyz(:,:,2) /= 0) .and. (c /= 0))
a = b/real(c)
elsewhere
a = 456
endwhere
end subroutine foo
end module m