! RUN: %python %S/test_errors.py %s %flang_fc1
! Tests for the ALLOCATED() intrinsic
subroutine alloc(coarray_alloc, coarray_not_alloc, t2_not_alloc)

  interface
    function return_allocatable()
      integer, allocatable :: return_allocatable(:)
    end function
  end interface

  type :: t1
    integer, allocatable :: alloc(:)
    integer :: not_alloc
  end type

  type :: t2
    real, allocatable :: coarray_alloc[:]
    real, allocatable :: coarray_alloc_array(:)[:]
  end type


  integer :: not_alloc(100)
  real, allocatable :: x_alloc
  character(:), allocatable :: char_alloc(:)
  type(t1) :: dt_not_alloc(100)
  type(t1), allocatable :: dt_alloc(:)

  real, allocatable :: coarray_alloc[:, :]
  real, allocatable :: coarray_alloc_array(:)[:, :]
  real :: coarray_not_alloc(:)[*]

  type(t2) :: t2_not_alloc


  ! OK
  print *, allocated(x_alloc)
  print *, allocated(char_alloc)
  print *, allocated(dt_alloc)
  print *, allocated(dt_not_alloc(3)%alloc)
  print *, allocated(dt_alloc(3)%alloc)
  print *, allocated(coarray_alloc)
  print *, allocated(coarray_alloc[2,3])
  print *, allocated(t2_not_alloc%coarray_alloc)
  print *, allocated(t2_not_alloc%coarray_alloc[2])

  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(not_alloc)
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(dt_not_alloc)
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(dt_alloc%not_alloc)
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(char_alloc(:))
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(char_alloc(1)(1:10))
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(coarray_alloc_array(1:10))
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(coarray_alloc_array(1:10)[2,2])
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(t2_not_alloc%coarray_alloc_array(1))
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(t2_not_alloc%coarray_alloc_array(1)[2])
  !ERROR: Argument of ALLOCATED() must be an ALLOCATABLE object or component
  print *, allocated(return_allocatable())
end subroutine
