2015-07-04 Marc Glisse <marc.glisse@inria.fr>
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-fortran / data-1.f90
blob5e94e2d7f4772b48f4ac042a64f6f8b1c28bf1b8
1 ! { dg-do run }
3 program test
4 integer, parameter :: N = 8
5 real, allocatable :: a(:), b(:)
7 allocate (a(N))
8 allocate (b(N))
10 a(:) = 3.0
11 b(:) = 0.0
13 !$acc enter data copyin (a(1:N), b(1:N))
15 !$acc parallel
16 do i = 1, n
17 b(i) = a (i)
18 end do
19 !$acc end parallel
21 !$acc exit data copyout (a(1:N), b(1:N))
23 do i = 1, n
24 if (a(i) .ne. 3.0) call abort
25 if (b(i) .ne. 3.0) call abort
26 end do
28 a(:) = 5.0
29 b(:) = 1.0
31 !$acc enter data copyin (a(1:N), b(1:N))
33 !$acc parallel
34 do i = 1, n
35 b(i) = a (i)
36 end do
37 !$acc end parallel
39 !$acc exit data copyout (a(1:N), b(1:N))
41 do i = 1, n
42 if (a(i) .ne. 5.0) call abort
43 if (b(i) .ne. 5.0) call abort
44 end do
45 end program test