! { dg-do run } ! { dg-options "-fno-inline" } integer, parameter :: n = 10 integer :: a(n), i do i = 1, n a(i) = i end do !$acc parallel !$acc loop do i = 1, n call incr(a(i)) end do !$acc end parallel do i = 1, n if (a(i) .ne. (i + 1)) call abort end do end subroutine incr (x) !$acc routine integer, intent(inout) :: x x = x + 1 end subroutine incr