| ! 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 |