gcc/libgomp/testsuite/libgomp.oacc-fortran/host_data-1.f90
Chung-Lin Tang 7c7137142c re PR fortran/70598 (Fortran OpenACC host_data construct ICE)
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
2016-08-14 18:19:10 +00:00

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