6 integer, parameter :: N
= 5
7 integer :: i
, x(N
), y(N
), z(N
:2*N
-1)
15 if (any (x
/= [(i
, i
= 1, N
)])) stop 1
16 if (any (y
/= [(2*i
, i
= 1, N
)])) stop 2
17 if (any (z
/= [(3*i
, i
= 1, N
)])) stop 3
20 subroutine foo(a
, b
, c
)
23 integer, pointer, intent(in
) :: c(:)
25 !$omp target data map(a,b(:N),c) use_device_addr(a,b(:N),c)
26 !$omp target has_device_addr(A,B(:N),C)
27 if (lbound(a
,dim
=1) /= 1 .or
. ubound(a
,dim
=1) /= N
) stop 10
28 if (lbound(b
,dim
=1) /= 1) stop 11
29 if (lbound(c
,dim
=1) /= N
.or
. ubound(c
,dim
=1) /= 2*N
-1) stop 12
30 if (any (a
/= 42)) stop 13
31 if (any (b(:N
) /= 43)) stop 14
32 if (any (c
/= 44)) stop 15
34 b(:N
) = [(2*i
, i
= 1, N
)]