1! Basic offloading test of arrays with provided lower and upper bounds as 2! specified by OpenMP's sectioning 3! REQUIRES: flang, amdgpu 4 5! RUN: %libomptarget-compile-fortran-run-and-check-generic 6program main 7 implicit none 8 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 = 2 11 integer :: j = 5 12 !$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 + 1 16 end do 17 !$omp end target 18 19 print *, write_arr(:) 20end program 21 22! CHECK: 0 2 3 4 5 0 0 0 0 0 23