blob: fe32f1eaf087e8dbbe68d0f7dbce3c0ca748d102 [file] [log] [blame]
! { dg-do compile }
! { dg-additional-options "-fmax-errors=100" }
module test
implicit none
contains
subroutine foo (vi, asa)
integer, value :: vi
integer :: i, ia(10)
complex :: c, ca(10)
real, target:: r
real :: ra(10)
real, pointer :: rp
real, dimension(:), allocatable :: aa
real, dimension(:) :: asa
type t
integer :: i
end type
type(t) :: ti
type(t), allocatable :: tia
type(t), target :: tit
type(t), pointer :: tip
rp => r
tip => tit
!$acc parallel deviceptr (rp) ! { dg-error "POINTER" }
!$acc end parallel
!$acc parallel deviceptr (vi) ! { dg-error "VALUE" }
!$acc end parallel
!$acc parallel deviceptr (aa) ! { dg-error "ALLOCATABLE" }
!$acc end parallel
!$acc parallel deviceptr (i, c, r, ia, ca, ra, asa, ti)
!$acc end parallel
!$acc kernels deviceptr (i, c, r, ia, ca, ra, asa, ti)
!$acc end kernels
!$acc data deviceptr (i, c, r, ia, ca, ra, asa, ti)
!$acc end data
!$acc parallel copy (tip)
!$acc end parallel
!$acc parallel copy (tia)
!$acc end parallel
!$acc parallel deviceptr (i) copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel copyin (tip)
!$acc end parallel
!$acc parallel copyin (tia)
!$acc end parallel
!$acc parallel deviceptr (i) copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel copyout (tip)
!$acc end parallel
!$acc parallel copyout (tia)
!$acc end parallel
!$acc parallel deviceptr (i) copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel create (tip)
!$acc end parallel
!$acc parallel create (tia)
!$acc end parallel
!$acc parallel deviceptr (i) create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel no_create (tip)
!$acc end parallel
!$acc parallel no_create (tia)
!$acc end parallel
!$acc parallel deviceptr (i) no_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) no_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) no_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) no_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel no_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels no_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data no_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel present (tip)
!$acc end parallel
!$acc parallel present (tia)
!$acc end parallel
!$acc parallel deviceptr (i) present (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) present (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) present (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) present (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i) present (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels present (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data present (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel pcopy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc parallel pcopyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc parallel pcopyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc parallel pcreate (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc parallel present_or_copy (tip)
!$acc end parallel
!$acc parallel present_or_copy (tia)
!$acc end parallel
!$acc parallel deviceptr (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present (i) present_or_copy (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels present_or_copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data present_or_copy (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel present_or_copyin (tip)
!$acc end parallel
!$acc parallel present_or_copyin (tia)
!$acc end parallel
!$acc parallel deviceptr (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copy (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels present_or_copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data present_or_copyin (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel present_or_copyout (tip)
!$acc end parallel
!$acc parallel present_or_copyout (tia)
!$acc end parallel
!$acc parallel deviceptr (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copy (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copyin (i) present_or_copyout (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels present_or_copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data present_or_copyout (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
!$acc parallel present_or_create (tip)
!$acc end parallel
!$acc parallel present_or_create (tia)
!$acc end parallel
!$acc parallel deviceptr (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copy (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyin (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel copyout (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel create (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copy (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copyin (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_copyout (i) present_or_create (i) ! { dg-error "multiple clauses" }
!$acc end parallel
!$acc parallel present_or_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end parallel
!$acc kernels present_or_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end kernels
!$acc data present_or_create (i, c, r, ia, ca, ra, asa, rp, ti, vi, aa)
!$acc end data
end subroutine foo
end module test