summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocatable_function_3.f90
blob: 538924f6719519571b276ffd1b0899f7136b2b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! { dg-do run }
! Tests the fix for PR33986, in which the call to scram would call
! an ICE because allocatable result actuals had not been catered for.
!
!  Contributed by Damian Rouson <damian@rouson.net>
!
function transform_to_spectral_from() result(spectral)
  integer, allocatable :: spectral(:)
  allocate(spectral(2))
  call scram(spectral)
end function transform_to_spectral_from

subroutine scram (x)
  integer x(2)
  x = (/1,2/)
end subroutine

  interface
    function transform_to_spectral_from() result(spectral)
      integer, allocatable :: spectral(:)
    end function transform_to_spectral_from
  end interface
  if (any (transform_to_spectral_from () .ne. (/1,2/))) call abort ()
end