! PR101333
! { dg-do compile}
!
! TS 29113
! C407c An assumed-type actual argument that corresponds to an
! assumed-rank dummy argument shall be assumed-shape or assumed-rank.
!
! This constraint is renumbered C711 in the 2018 Fortran standard.

module m
  interface
    subroutine g (a, b)
      implicit none
      type(*) :: a(..)
      integer :: b
    end subroutine
  end interface
end module

! Check that assumed-shape works.

subroutine s0 (x)
  use m
  implicit none
  type(*) :: x(:)

  call g (x, 1)
end subroutine

! Check that assumed-rank works.

subroutine s1 (x)
  use m
  implicit none
  type(*) :: x(..)

  call g (x, 1)
end subroutine

! Check that assumed-size gives an error.

subroutine s2 (x)
  use m
  implicit none
  type(*) :: x(*)

  call g (x, 1)  ! { dg-error "Assumed.type" }
end subroutine

! Check that a scalar gives an error.
subroutine s3 (x)
  use m
  implicit none
  type(*) :: x

  call g (x, 1)  ! { dg-error "Assumed.type" }
end subroutine

! Explicit-shape assumed-type actual arguments are forbidden implicitly
! by c407a (C709 in the 2018 standard).  They're not allowed as dummy
! arguments, and assumed-type entities can only be declared as dummy
! arguments, so there is no other way to construct one to pass as an
! actual argument.
