! PR 21104. Make sure that either f() or its caller will allocate | |
! the array data. We've decided to make the caller allocate it. | |
! { dg-do run } | |
program main | |
implicit none | |
call test (f ()) | |
contains | |
subroutine test (x) | |
integer, dimension (10) :: x | |
integer :: i | |
do i = 1, 10 | |
if (x (i) .ne. i * 100) STOP 1 | |
end do | |
end subroutine test | |
function f () | |
integer, dimension (10) :: f | |
integer :: i | |
forall (i = 1:10) f (i) = i * 100 | |
end function f | |
end program main |