summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/array_alloc_1.f90
blob: 17be757a918b5fbfe007dfa82380d6ad438040aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! 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) call abort
    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