summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocatable_function_3.f90
blob: 9209860f9d186ef949658e48e2f1b4e006ba8b58 (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/))) STOP 1
end