1! Offloading test checking interaction of an nested derived type member map 2! with the inclusion of an entire nested derived type being mapped 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 type(bottom_layer) :: nested2 21 end type top_layer 22 23 type(top_layer) :: top_dtype 24 25!$omp target map(tofrom: top_dtype%k, top_dtype%nested2%array_i2, top_dtype%nested) 26 do i = 1, 10 27 top_dtype%nested2%array_i2(i) = i * 2 28 top_dtype%nested%array_i2(i) = i * 2 29 end do 30 31 top_dtype%nested%i2 = 30.30 32 top_dtype%k = 74 33!$omp end target 34 35 print *, top_dtype%nested%i2 36 print *, top_dtype%k 37 print *, top_dtype%nested%array_i2 38 print *, top_dtype%nested2%array_i2 39end program main 40 41!CHECK: 30.299999237060547 42!CHECK: 74 43!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. 44!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. 45