4 integer, pointer :: p(:)
10 allocate (var(1)%p, source=[1,2,3,5])
11 allocate (var(2)%p, source=[2,3,5])
12 allocate (var(3)%p(1:3))
18 !$omp target map(var(i)%p, var(j)%p)
24 !$omp target map(var(i)%p(1:3), var(i)%p, var(j)%p)
25 var(i)%p(1) = var(i)%p(1) + 1
26 var(j)%p(2) = var(j)%p(2) + 1
29 !$omp target map(var(i)%p, var(j)%p, var(j)%p(1:3))
30 var(i)%p(1) = var(i)%p(1) + 1
31 var(j)%p(2) = var(j)%p(2) + 1
34 !$omp target map(var(i)%p, var(i)%p(1:3), var(j)%p, var(j)%p(2))
35 var(i)%p(1) = var(i)%p(1) + 1
36 var(j)%p(2) = var(j)%p(2) + 1
41 if (var(i)%p(1).ne.5) stop 1
42 if (var(j)%p(2).ne.7) stop 2
44 if (var(i)%p(1).ne.8) stop 3
45 if (var(j)%p(2).ne.10) stop 4
52 ! { dg-output "(\n|\r|\r\n)" { target offload_device_nonshared_as } }
53 ! { dg-output "libgomp: Mapped array elements must be the same .*(\n|\r|\r\n)+" { target offload_device_nonshared_as } }
54 ! { dg-shouldfail "" { offload_device_nonshared_as } }