23 lines · plain
1! Basic offloading test of arrays with provided lower and upper bounds as2! specified by OpenMP's sectioning3! REQUIRES: flang, amdgpu4 5! RUN: %libomptarget-compile-fortran-run-and-check-generic6program main7 implicit none8 integer :: write_arr(10) = (/0,0,0,0,0,0,0,0,0,0/)9 integer :: read_arr(10) = (/1,2,3,4,5,6,7,8,9,10/)10 integer :: i = 211 integer :: j = 512 !$omp target map(to:read_arr(2:5)) map(from:write_arr(2:5)) map(to:i,j)13 do while (i <= j)14 write_arr(i) = read_arr(i)15 i = i + 116 end do17 !$omp end target18 19 print *, write_arr(:)20end program21 22! CHECK: 0 2 3 4 5 0 0 0 0 023