comparison libgomp/testsuite/libgomp.fortran/target-enter-data-2.F90 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
comparison
equal deleted inserted replaced
145:1830386684a0 152:2b5abeee2509
1 ! { dg-additional-options "-DMEM_SHARED" { target offload_device_shared_as } }
2 ! { dg-do run }
3 !
4 ! PR middle-end/94635
5 implicit none
6 integer, parameter :: N = 20
7 integer, allocatable, dimension(:) :: my1DPtr
8 integer, dimension(N) :: my1DArr
9 integer :: i
10
11 allocate(my1DPtr(N))
12 my1DPtr = 43
13
14 !$omp target enter data map(alloc: my1DPtr)
15 !$omp target
16 my1DPtr = [(i , i = 1, N)]
17 !$omp end target
18
19 !$omp target map(from: my1DArr)
20 my1DArr = my1DPtr
21 !$omp end target
22 !$omp target exit data map(delete: my1DPtr)
23
24 if (any (my1DArr /= [(i, i = 1, N)])) stop 1
25 #if MEM_SHARED
26 if (any (my1DArr /= my1DPtr)) stop 2
27 #else
28 if (any (43 /= my1DPtr)) stop 3
29 #endif
30
31 my1DPtr = [(2*N-i, i = 1, N)]
32 my1DArr = 42
33
34 !$omp target map(tofrom: my1DArr) map(tofrom: my1DPtr(:))
35 my1DArr = my1DPtr
36 my1DPtr = 20
37 !$omp end target
38
39 if (any (my1DArr /= [(2*N-i, i = 1, N)])) stop 4
40 if (any (20 /= my1DPtr)) stop 6
41 end