]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/testsuite/libgomp.fortran/map-subarray-5.f90
In 'libgomp.fortran/map-subarray-5.f90', restrict 'dg-output's to 'target offload_dev...
[thirdparty/gcc.git] / libgomp / testsuite / libgomp.fortran / map-subarray-5.f90
CommitLineData
f5745dc1
JB
1! { dg-do run }
2
3type t
4 integer, pointer :: p(:)
5end type t
6
7type(t) :: var(3)
8integer :: i, j
9
10allocate (var(1)%p, source=[1,2,3,5])
11allocate (var(2)%p, source=[2,3,5])
12allocate (var(3)%p(1:3))
13
14var(3)%p = 0
15
16do i = 1, 3
17 do j = 1, 3
18!$omp target map(var(i)%p, var(j)%p)
19 var(i)%p(1) = 5
20 var(j)%p(2) = 7
21!$omp end target
22
23 if (i.ne.j) then
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
27!$omp end target
28
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
32!$omp end target
33
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
37!$omp end target
38 end if
39
40 if (i.eq.j) then
41 if (var(i)%p(1).ne.5) stop 1
42 if (var(j)%p(2).ne.7) stop 2
43 else
44 if (var(i)%p(1).ne.8) stop 3
45 if (var(j)%p(2).ne.10) stop 4
46 end if
47 end do
48end do
49
50end
51
bc7546e3
TS
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 } }
f5745dc1 54! { dg-shouldfail "" { offload_device_nonshared_as } }