7c7137142c
2016-08-14 Chung-Lin Tang <cltang@codesourcery.com> PR fortran/70598 gcc/fortran/ * openmp.c (resolve_omp_clauses): Adjust use_device clause handling to only allow pointers and arrays. gcc/testsuite/ * gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers in use_device clause. * gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise. * gfortran.dg/goacc/list.f95: Adjust to catch "neither a POINTER nor an array" error messages. libgomp/ * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. From-SVN: r239457
33 lines
671 B
Fortran
33 lines
671 B
Fortran
! { dg-do run }
|
|
! { dg-additional-options "-cpp" }
|
|
|
|
program test
|
|
implicit none
|
|
|
|
integer, target :: i, arr(1000)
|
|
integer, pointer :: ip, iph
|
|
integer, contiguous, pointer :: parr(:), parrh(:)
|
|
|
|
! Assign the same targets
|
|
ip => i
|
|
parr => arr
|
|
iph => i
|
|
parrh => arr
|
|
|
|
!$acc data copyin(i, arr)
|
|
!$acc host_data use_device(ip, parr)
|
|
|
|
! Test how the pointers compare inside a host_data construct
|
|
#if ACC_MEM_SHARED
|
|
if (.not. associated(ip, iph)) call abort
|
|
if (.not. associated(parr, parrh)) call abort
|
|
#else
|
|
if (associated(ip, iph)) call abort
|
|
if (associated(parr, parrh)) call abort
|
|
#endif
|
|
|
|
!$acc end host_data
|
|
!$acc end data
|
|
|
|
end program test
|