blob: 16433af2c922cab35b696ad883763a2ad5f92935 [file] [edit]
! Test the implicit `declare target to` interaction with `target update from`
! REQUIRES: flang, amdgpu
! RUN: %libomptarget-compile-fortran-run-and-check-generic
module test
implicit none
integer :: array(10)
!$omp declare target(array)
end module test
PROGRAM main
use test
implicit none
integer :: i
do i = 1, 10
array(i) = 0
end do
!$omp target
do i = 1, 10
array(i) = i
end do
!$omp end target
!$omp target
do i = 1, 10
array(i) = array(i) + i
end do
!$omp end target
print *, array
!$omp target update from(array)
print *, array
END PROGRAM
! CHECK: 0 0 0 0 0 0 0 0 0 0
! CHECK: 2 4 6 8 10 12 14 16 18 20