12345678910111213141516171819202122232425262728293031323334 |
- ! { dg-do run }
- ! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } }
- ! Adapted from 'libgomp.oacc-fortran/deep-copy-6.f90'.
- program main
- use openacc
- implicit none
- integer, parameter :: n = 512
- type mytype
- integer, allocatable :: a(:)
- end type mytype
- type(mytype) :: var
- allocate(var%a(1:n))
- !$acc data create(var)
- !$acc enter data create(var%a)
- if (.not. acc_is_present(var%a)) stop 1
- if (.not. acc_is_present(var)) stop 2
- !$acc exit data delete(var%a) finalize
- if (acc_is_present(var%a)) stop 3
- if (.not. acc_is_present(var)) stop 4
- !$acc end data
- if (acc_is_present(var%a)) stop 5
- if (acc_is_present(var)) stop 6
- deallocate(var%a)
- end program main
|