gcc/fortran/
[official-gcc.git] / gcc / testsuite / gfortran.dg / goacc / cray.f95
blobd6d531705a696b2bf30951f63b21f5ca2d36e0c9
1 ! { dg-additional-options "-fcray-pointer" }
2 ! See also cray-2.f95.
4 module test
5 contains
6 subroutine oacc1
7 implicit none
8 integer :: i
9 real :: pointee
10 pointer (ptr, pointee)
11 !$acc declare device_resident (pointee)
12 !$acc declare device_resident (ptr)
13 !$acc data copy (pointee) ! { dg-error "Cray pointee" }
14 !$acc end data
15 !$acc data deviceptr (pointee) ! { dg-error "Cray pointee" }
16 !$acc end data
17 !$acc parallel private (pointee) ! { dg-error "Cray pointee" }
18 !$acc end parallel
19 !$acc host_data use_device (pointee) ! { dg-error "Cray pointee" }
20 !$acc end host_data
21 !$acc parallel loop reduction(+:pointee) ! { dg-error "Cray pointee" }
22 do i = 1,5
23 enddo
24 !$acc end parallel loop
25 !$acc parallel loop
26 do i = 1,5
27 !$acc cache (pointee) ! { dg-error "Cray pointee" }
28 enddo
29 !$acc end parallel loop
30 !$acc update device (pointee) ! { dg-error "Cray pointee" }
31 !$acc update host (pointee) ! { dg-error "Cray pointee" }
32 !$acc update self (pointee) ! { dg-error "Cray pointee" }
33 !$acc data copy (ptr)
34 !$acc end data
35 !$acc data deviceptr (ptr) ! { dg-error "Cray pointer" }
36 !$acc end data
37 !$acc parallel private (ptr)
38 !$acc end parallel
39 !$acc host_data use_device (ptr) ! { dg-error "Cray pointer" }
40 !$acc end host_data
41 !$acc parallel loop reduction(+:ptr) ! { dg-error "Cray pointer" }
42 do i = 1,5
43 enddo
44 !$acc end parallel loop
45 !$acc parallel loop
46 do i = 1,5
47 !TODO: This must fail, as in openacc-1_0-branch.
48 !$acc cache (ptr) ! { dg-error "" "TODO" { xfail *-*-* } }
49 enddo
50 !$acc end parallel loop
51 !$acc update device (ptr)
52 !$acc update host (ptr)
53 !$acc update self (ptr)
54 end subroutine oacc1
55 end module test