Skip gnat.dg/prot7.adb on hppa.
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-fortran / update-dt-array.f90
blobd796eddceda534d496804fadfee842913f4a3fce
1 ! { dg-do run }
3 program myprog
5 type mytype
6 integer, allocatable :: myarr(:,:)
7 end type mytype
8 integer :: i
10 type(mytype), allocatable :: typearr(:)
12 allocate(typearr(1:100))
14 do i=1,100
15 allocate(typearr(i)%myarr(1:100,1:100))
16 end do
18 do i=1,100
19 typearr(i)%myarr(:,:) = 0
20 end do
22 !$acc enter data copyin(typearr)
24 do i=1,100
25 !$acc enter data copyin(typearr(i)%myarr)
26 end do
28 i=33
29 typearr(i)%myarr(:,:) = 50
31 !$acc update device(typearr(i)%myarr(:,:))
33 do i=1,100
34 !$acc exit data copyout(typearr(i)%myarr)
35 end do
37 !$acc exit data delete(typearr)
39 do i=1,100
40 if (i.eq.33) then
41 if (any(typearr(i)%myarr.ne.50)) stop 1
42 else
43 if (any(typearr(i)%myarr.ne.0)) stop 2
44 end if
45 end do
47 do i=1,100
48 deallocate(typearr(i)%myarr)
49 end do
51 deallocate(typearr)
53 end program myprog