2 ! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } }
7 integer, parameter :: N
= 8
8 integer, parameter :: NDIV2
= N
/ 2
17 !$acc enter data copyin (a, b)
19 !$acc parallel present (a, b)
25 !$acc update host (a, b)
28 if (a(i
) .ne
. 3.0) call abort
29 if (b(i
) .ne
. 3.0) call abort
32 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
33 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
40 !$acc update device (a, b)
42 !$acc parallel present (a, b)
48 !$acc update host (a, b)
51 if (a(i
) .ne
. 5.0) call abort
52 if (b(i
) .ne
. 5.0) call abort
55 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
56 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
58 !$acc parallel present (a, b)
64 !$acc update host (a, b)
67 if (a(i
) .ne
. 5.0) call abort
68 if (b(i
) .ne
. 5.0) call abort
71 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
72 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
79 !$acc update device (a, b)
85 !$acc parallel present (a, b)
91 !$acc update host (a, b)
94 if (a(i
) .ne
. 6.0) call abort
95 if (b(i
) .ne
. 6.0) call abort
98 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
99 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
106 !$acc update device (a, b)
112 !$acc parallel present (a, b)
118 !$acc update host (a, b)
121 if (a(i
) .ne
. 7.0) call abort
122 if (b(i
) .ne
. 7.0) call abort
129 !$acc update device (a)
131 !$acc parallel present (a, b)
137 !$acc update host (a, b)
140 if (a(i
) .ne
. 9.0) call abort
141 if (b(i
) .ne
. 9.0) call abort
144 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
145 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
151 !$acc update device (a)
157 !$acc update device (a(1:NDIV2))
159 !$acc parallel present (a, b)
165 !$acc update host (a, b)
168 if (a(i
) .ne
. 6.0) call abort
169 if (b(i
) .ne
. 6.0) call abort
173 if (a(i
) .ne
. 5.0) call abort
174 if (b(i
) .ne
. 5.0) call abort
177 if (acc_is_present (a
) .neqv
. .TRUE
.) call abort
178 if (acc_is_present (b
) .neqv
. .TRUE
.) call abort
184 !$acc update device (a(1:4))
186 !$acc parallel present (a)
192 !$acc update host (a(5:N))
195 if (a(i
) .ne
. 0.0) call abort
199 if (a(i
) .ne
. 6.0) call abort
202 !$acc update host (a(1:4))
205 if (a(i
) .ne
. 1.0) call abort
209 if (a(i
) .ne
. 6.0) call abort
217 !$acc update device (a(3:6))
219 !$acc parallel present (a(1:N))
225 !$acc update host (a(3:6))
228 if (a(i
) .ne
. 1.0) call abort
232 if (a(i
) .ne
. 10.0) call abort
236 if (a(i
) .ne
. 6.0) call abort
239 !$acc exit data delete (a, b)