blob: 85f5af3a2a6ca1533e56fdcddf6e22a72ce3e4c2 (
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
|
! { dg-do run }
program myprog
type u
integer, dimension (:), pointer :: tarr
end type u
type(u) :: myu
integer, dimension (12), target :: myarray
myu%tarr => myarray
myu%tarr = 0
!$omp target map(to:myu%tarr) map(tofrom:myu%tarr(:))
myu%tarr(1) = myu%tarr(1) + 1
!$omp end target
!$omp target map(to:myu%tarr) map(tofrom:myu%tarr(1:2))
myu%tarr(1) = myu%tarr(1) + 1
!$omp end target
!$omp target map(to:myu%tarr) map(tofrom:myu%tarr(1))
myu%tarr(1) = myu%tarr(1) + 1
!$omp end target
!$omp target map(tofrom:myu%tarr)
myu%tarr(1) = myu%tarr(1) + 1
!$omp end target
if (myu%tarr(1).ne.4) stop 1
end program myprog
|