blob: 7f3cc4ae27498425b991833deea9aea3cc41ce80 [file] [log] [blame]
! 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