! { dg-do compile } ! { dg-options "-fcoarray=single" } ! ! PR fortran/53643 ! type t integer, allocatable :: comp end type t contains subroutine foo(x,y) class(t), allocatable, intent(out) :: x(:) class(t), intent(out) :: y(:) end subroutine subroutine foo2(x,y) class(t), allocatable, intent(out) :: x class(t), intent(out) :: y end subroutine subroutine bar(x,y) class(t), intent(out) :: x(:)[*] class(t), intent(out) :: y[*] end subroutine subroutine bar2(x,y) type(t), intent(out) :: x(:)[*] type(t), intent(out) :: y[*] end subroutine end