40 lines
697 B
Fortran
40 lines
697 B
Fortran
! { dg-do run }
|
|
! PR 28416: Check that allocatable dummies can be passed onwards as non-assumed
|
|
! shape arg.
|
|
program main
|
|
|
|
implicit none
|
|
integer, allocatable :: a(:)
|
|
|
|
interface
|
|
subroutine foo(v_out)
|
|
integer, allocatable :: v_out(:)
|
|
end subroutine foo
|
|
end interface
|
|
|
|
call foo(a)
|
|
if (any(a /= [ 1, 2, 3 ])) call abort()
|
|
|
|
end program
|
|
|
|
|
|
subroutine foo(v_out)
|
|
implicit none
|
|
integer, allocatable :: v_out(:)
|
|
|
|
allocate(v_out(3))
|
|
call bar(v_out, size(v_out))
|
|
end subroutine foo
|
|
|
|
|
|
subroutine bar(v, N)
|
|
implicit none
|
|
integer :: N
|
|
integer :: v(N)
|
|
integer :: i
|
|
|
|
do i = 1, N
|
|
v(i) = i
|
|
end do
|
|
end subroutine bar
|