! { dg-do compile } 
! { dg-additional-options "-fmax-errors=100" } 

module test 
  implicit none
contains

  subroutine foo (vi)
  logical :: l
  integer, value :: vi
  integer :: i, ia(10), a(10), b(2:8)
  complex :: c, ca(10)
  real, target:: r
  real :: ra(10)
  real, pointer :: rp
  real, dimension(:), allocatable :: aa
  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

  ! enter data
  !$acc enter data
  !$acc enter data if (.false.)
  !$acc enter data if (l)
  !$acc enter data if (.false.) if (l) ! { dg-error "Duplicated 'if' clause" }
  !$acc enter data if (i) ! { dg-error "LOGICAL" }
  !$acc enter data if (1) ! { dg-error "LOGICAL" }
  !$acc enter data if (a) ! { dg-error "LOGICAL" }
  !$acc enter data if (b(5:6)) ! { dg-error "LOGICAL" }
  !$acc enter data async (l) ! { dg-error "INTEGER" }
  !$acc enter data async (.true.) ! { dg-error "INTEGER" }
  !$acc enter data async (1) 
  !$acc enter data async (i) 
  !$acc enter data async (a) ! { dg-error "INTEGER" }
  !$acc enter data async (b(5:6)) ! { dg-error "INTEGER" }
  !$acc enter data wait (l) ! { dg-error "INTEGER" }
  !$acc enter data wait (.true.) ! { dg-error "INTEGER" }
  !$acc enter data wait (i, 1) 
  !$acc enter data wait (a) ! { dg-error "INTEGER" }
  !$acc enter data wait (b(5:6)) ! { dg-error "INTEGER" }
  !$acc enter data copyin (tip)
  !$acc enter data copyin (tia)
  !$acc enter data create (tip)
  !$acc enter data create (tia)
  !$acc enter data present_or_copyin (tip)
  !$acc enter data present_or_copyin (tia)
  !$acc enter data present_or_create (tip)
  !$acc enter data present_or_create (tia)
  !$acc enter data copyin (i) create (i) ! { dg-error "multiple clauses" }
  !$acc enter data copyin (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
  !$acc enter data create (i) present_or_copyin (i) ! { dg-error "multiple clauses" }
  !$acc enter data copyin (i) present_or_create (i) ! { dg-error "multiple clauses" }
  !$acc enter data create (i) present_or_create (i) ! { dg-error "multiple clauses" }
  !$acc enter data present_or_copyin (i) present_or_create (i) ! { dg-error "multiple clauses" }

  ! exit data
  !$acc exit data
  !$acc exit data if (.false.)
  !$acc exit data if (l)
  !$acc exit data if (.false.) if (l) ! { dg-error "Duplicated 'if' clause" }
  !$acc exit data if (i) ! { dg-error "LOGICAL" }
  !$acc exit data if (1) ! { dg-error "LOGICAL" }
  !$acc exit data if (a) ! { dg-error "LOGICAL" }
  !$acc exit data if (b(5:6)) ! { dg-error "LOGICAL" }
  !$acc exit data async (l) ! { dg-error "INTEGER" }
  !$acc exit data async (.true.) ! { dg-error "INTEGER" }
  !$acc exit data async (1) 
  !$acc exit data async (i) 
  !$acc exit data async (a) ! { dg-error "INTEGER" }
  !$acc exit data async (b(5:6)) ! { dg-error "INTEGER" }
  !$acc exit data wait (l) ! { dg-error "INTEGER" }
  !$acc exit data wait (.true.) ! { dg-error "INTEGER" }
  !$acc exit data wait (i, 1) 
  !$acc exit data wait (a) ! { dg-error "INTEGER" }
  !$acc exit data wait (b(5:6)) ! { dg-error "INTEGER" }
  !$acc exit data copyout (tip)
  !$acc exit data copyout (tia)
  !$acc exit data delete (tip)
  !$acc exit data delete (tia)
  !$acc exit data copyout (i) delete (i) ! { dg-error "multiple clauses" }
  !$acc exit data finalize
  !$acc exit data finalize copyout (i)
  !$acc exit data finalize delete (i)
  end subroutine foo
end module test
