summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.fortran-torture/execute/retarray_2.f90
blob: ab14dd03caf5610440d9b1d3bfe17244d0ab5f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
! Procedure to test module procedures returning arrays.
! The array spec only gets applied to the result variable, not the function
! itself.  As a result we missed it during resolution, and used the wrong
! calling convention (functions returning arrays must always have explicit
! interfaces).
module retarray_2
contains
  function z(a) result (aout)
  integer, dimension(4) :: aout,a
  aout = a
  end function z
end module retarray_2

program retarray
  use retarray_2
  integer, dimension(4) :: b, a=(/1,2,3,4/)
  b =  z(a)
  if (any (b .ne. (/1, 2, 3, 4/))) call abort
end