1! Offloading test checking interaction of two explicit array member maps with 2! bounds from two nested derived types 3! REQUIRES: flang, amdgpu 4 5! RUN: %libomptarget-compile-fortran-run-and-check-generic 6program main 7 type :: bottom_layer 8 real(8) :: i2 9 real(4) :: array_i2(10) 10 real(4) :: array_j2(10) 11 end type bottom_layer 12 13 type :: top_layer 14 real(4) :: i 15 integer(4) :: array_i(10) 16 real(4) :: j 17 type(bottom_layer) :: nested 18 integer, allocatable :: array_j(:) 19 integer(4) :: k 20 end type top_layer 21 22 type(top_layer) :: top_dtype 23 type(top_layer) :: top_dtype2 24 25!$omp target map(tofrom: top_dtype%nested%array_i2(4:8), top_dtype2%nested%array_j2(4:8)) 26 do i = 4, 8 27 top_dtype%nested%array_i2(i) = i * 2 28 end do 29 30 do i = 4, 8 31 top_dtype2%nested%array_j2(i) = i * 2 32 end do 33!$omp end target 34 35 print *, top_dtype%nested%array_i2 36 print *, top_dtype2%nested%array_j2 37end program main 38 39!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0. 40!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0. 41