1! Offloading test checking interaction of an explicit member map from a small 2! nested derived type 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 24!$omp target map(tofrom: top_dtype%nested%i2, top_dtype%k, top_dtype%nested%array_i2) 25 do i = 1, 10 26 top_dtype%nested%array_i2(i) = i * 2 27 end do 28 29 top_dtype%nested%i2 = 30.30 30 top_dtype%k = 74 31!$omp end target 32 33 print *, top_dtype%nested%i2 34 print *, top_dtype%k 35 print *, top_dtype%nested%array_i2 36end program main 37 38!CHECK: 30.299999237060547 39!CHECK: 74 40!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. 41