! { dg-do compile }
! PR 92004 - checks in the absence of an explicit interface between
! array elements and arrays
module x
  implicit none
  type t
     real :: x
  end type t
  type tt
     real :: x(2)
  end type tt
  type pointer_t
     real, pointer :: x(:)
  end type pointer_t
  type alloc_t
     real, dimension(:), allocatable :: x
  end type alloc_t
contains
  subroutine foo(a)
    real, dimension(:) :: a
    real, dimension(2), parameter :: b = [1.0, 2.0]
    real, dimension(10) :: x
    type (t), dimension(1) :: vv
    type (pointer_t) :: pointer_v
    real, dimension(:), pointer :: p
    call invalid_1(a(1))  ! { dg-error "Rank mismatch" }
    call invalid_1(a) ! { dg-error "Rank mismatch" }
    call invalid_2(a) ! { dg-error "Element of assumed-shape or pointer" }
    call invalid_2(a(1))  ! { dg-error "Element of assumed-shape or pointer" }
    call invalid_3(b) ! { dg-error "Rank mismatch" }
    call invalid_3(1.0) ! { dg-error "Rank mismatch" }
    call invalid_4 (vv(1)%x) ! { dg-error "Rank mismatch" }
    call invalid_4 (b) ! { dg-error "Rank mismatch" }w
    call invalid_5 (b) ! { dg-error "Rank mismatch" }
    call invalid_5 (vv(1)%x) ! { dg-error "Rank mismatch" }
    call invalid_6 (x) ! { dg-error "cannot correspond to actual argument" }
    call invalid_6 (pointer_v%x(1)) ! { dg-error "cannot correspond to actual argument" }
    call invalid_7 (pointer_v%x(1)) ! { dg-error "Rank mismatch" }
    call invalid_7 (x) ! { dg-error "Rank mismatch" }
    call invalid_8 (p(1)) ! { dg-error "Rank mismatch" }
    call invalid_8 (x) ! { dg-error "Rank mismatch" }
    call invalid_9 (x) ! { dg-error "cannot correspond to actual argument" }
    call invalid_9 (p(1)) ! { dg-error "cannot correspond to actual argument" }
  end subroutine foo

  subroutine bar(a, alloc)
    real, dimension(*) :: a
    real, dimension(2), parameter :: b = [1.0, 2.0]
    type (alloc_t), pointer :: alloc
    type (tt) :: tt_var
    ! None of the ones below should issue an error.
    call valid_1 (a)
    call valid_1 (a(1))
    call valid_2 (a(1))
    call valid_2 (a)
    call valid_3 (b)
    call valid_3 (b(1))
    call valid_4 (tt_var%x)
    call valid_4 (tt_var%x(1))
    call valid_5 (alloc%x(1))
    call valid_5 (a)
  end subroutine bar
end module x
