Add OpenACC test for sub-references being pointer or allocatable variables

gcc/testsuite/
	* gfortran.dg/goacc/strided-alloc-ptr.f90: New test.
This commit is contained in:
Julian Brown 2020-01-03 17:45:24 -08:00
parent 72a9fd209b
commit 99b9f5b406
2 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-01-28 Tobias Burnus <tobias@codesourcery.com>
Julian Brown <julian@codesourcery.com>
* gfortran.dg/goacc/strided-alloc-ptr.f90: New test.
2020-01-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/93439

View File

@ -0,0 +1,34 @@
implicit none
type t
integer, allocatable :: i, j(:)
integer, pointer :: k, ll(:)
end type t
type(t) :: x(2)
!$acc enter data copyin(x)
!$acc enter data copyin(x(:)%i)
! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 10 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 10 }
!$acc enter data copyin(x(:)%j(3))
! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 14 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 14 }
!$acc enter data copyin(x(:)%j)
! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 18 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 18 }
!$acc enter data copyin(x(:)%k)
! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 23 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 23 }
!$acc enter data copyin(x(:)%ll(3))
! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 27 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 27 }
!$acc enter data copyin(x(:)%ll)
! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 31 }
! { dg-error ".x. in MAP clause at .1. is not a proper array section" "" { target "*-*-*" } 31 }
end