blob: 47b706d108437aa16da2d8df00206afc6556f7dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
! Offloading test for recursive default mapper emission
! REQUIRES: flang, amdgpu
! RUN: %libomptarget-compile-fortran-run-and-check-generic
module recursive_mapper_mod
implicit none
type :: inner
integer :: value
type(inner), pointer :: next
end type inner
type :: outer
integer, allocatable :: arr(:)
type(inner), pointer :: head
end type outer
contains
end module recursive_mapper_mod
program main
use recursive_mapper_mod
implicit none
type(outer) :: o
allocate(o%arr(2))
o%arr = [1, 2]
!$omp target map(tofrom: o)
o%arr(1) = o%arr(1) + 1
o%arr(2) = o%arr(2) + 1
!$omp end target
print *, o%arr(1), o%arr(2)
end program main
! CHECK: 2 3
|