! { dg-do run }

subroutine foo (BETA, C)
  real ::  C(100,100)
  integer :: i, j, l
  real, parameter :: one = 1.0
  real :: beta

  !$acc parallel copy(c(1:100,1:100)) num_gangs(2)
  !$acc loop gang
  do j = 1, 100
     if (beta /= one) then
        !$acc loop vector
        do i = 1, 100
           C(i,j) = 0.0
        end do
     end if
  end do
  !$acc end parallel
end subroutine foo

program test_foo
  real :: c(100,100), beta
  beta = 0.0
  c(:,:) = 1.0
  call foo (beta, c)
  if (c(1,1) /= 0.0) STOP 1
end program test_foo