! { dg-do compile } ! ! TS 29113 ! C407a An assumed-type entity shall be a dummy variable that does not ! have the ALLOCATABLE, CODIMENSION, INTENT(OUT), POINTER, or VALUE ! attribute and is not an explicit-shape array. ! ! This test file contains tests that are expected to all pass. ! Check basic usage with no attributes. module m interface subroutine g (a, b) implicit none type(*) :: a integer :: b end subroutine end interface end module subroutine s0 (x) use m implicit none type(*) :: x call g (x, 1) end subroutine ! Check that other attributes that can normally apply to dummy variables ! are allowed. subroutine s1 (a, b, c, d, e, f, g, h) implicit none type(*), asynchronous :: a type(*), contiguous :: b(:,:) type(*), dimension (:) :: c type(*), intent(in) :: d type(*), intent(inout) :: e type(*), optional :: f type(*), target :: g type(*), volatile :: h end subroutine ! Check that non-explicit-shape arrays are allowed. subroutine s2 (a, b, c) implicit none type(*) :: a(:) ! assumed-shape type(*) :: b(*) ! assumed-size type(*) :: c(..) ! assumed-rank end subroutine