1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
! Check for <var>%re, ...%im, ...%kind, ...%len
! Cf. also OpenMP's ../gomp/ref_inquiry.f90
! Cf. OpenACC spec issue 346
!
implicit none
type t
integer :: i
character :: c
complex :: z
complex :: zz(5)
end type t
integer :: i
character(kind=4, len=5) :: c
complex :: z, zz(5)
type(t) :: x
print *, is_contiguous(zz(:)%re)
! inquiry function; expr_type != EXPR_VARIABLE:
!$acc enter data copyin(i%kind, c%len) ! { dg-error "not a proper array section" }
!$acc enter data copyin(x%i%kind) ! { dg-error "not a proper array section" }
!$acc enter data copyin(x%c%len) ! { dg-error "not a proper array section" }
!$acc update self(i%kind, c%len) ! { dg-error "not a proper array section" }
!$acc update self(x%i%kind) ! { dg-error "not a proper array section" }
!$acc update self(x%c%len) ! { dg-error "not a proper array section" }
! EXPR_VARIABLE
!$acc enter data copyin(z%re) ! { dg-error "Unexpected complex-parts designator" }
!$acc enter data copyin(z%im) ! { dg-error "Unexpected complex-parts designator" }
!$acc enter data copyin(zz%re) ! { dg-error "not a proper array section" }
!$acc enter data copyin(zz%im) ! { dg-error "not a proper array section" }
!$acc enter data copyin(x%z%re) ! { dg-error "Unexpected complex-parts designator" }
!$acc enter data copyin(x%z%im) ! { dg-error "Unexpected complex-parts designator" }
!$acc enter data copyin(x%zz%re) ! { dg-error "not a proper array section" }
!$acc enter data copyin(x%zz%im) ! { dg-error "not a proper array section" }
!$acc update self(z%re) ! { dg-error "Unexpected complex-parts designator" }
!$acc update self(z%im) ! { dg-error "Unexpected complex-parts designator" }
!$acc update self(zz%re) ! { dg-error "not a proper array section" }
!$acc update self(zz%im) ! { dg-error "not a proper array section" }
!$acc update self(x%z%re) ! { dg-error "Unexpected complex-parts designator" }
!$acc update self(x%z%im) ! { dg-error "Unexpected complex-parts designator" }
!$acc update self(x%zz%re) ! { dg-error "is not a proper array section" }
!$acc update self(x%zz%im) ! { dg-error "is not a proper array section" }
end
|