! Test declare create with allocatable scalars. ! { dg-do run } program main use openacc implicit none integer, parameter :: n = 100 integer, allocatable :: a, c integer :: i, b(n) !$acc declare create (c) allocate (a) a = 50 !$acc parallel loop firstprivate(a) do i = 1, n; b(i) = a end do do i = 1, n if (b(i) /= a) stop 1 end do allocate (c) a = 100 if (.not.acc_is_present(c)) stop 2 !$acc parallel num_gangs(1) present(c) c = a !$acc end parallel !$acc update host(c) if (c /= a) stop 3 !$acc parallel loop do i = 1, n b(i) = c end do do i = 1, n if (b(i) /= a) stop 4 end do deallocate (a, c) end program main