1! { dg-do run }
2! Tests the fix for PR33986, in which the call to scram would call
3! an ICE because allocatable result actuals had not been catered for.
4!
5!  Contributed by Damian Rouson <damian@rouson.net>
6!
7function transform_to_spectral_from() result(spectral)
8  integer, allocatable :: spectral(:)
9  allocate(spectral(2))
10  call scram(spectral)
11end function transform_to_spectral_from
12
13subroutine scram (x)
14  integer x(2)
15  x = (/1,2/)
16end subroutine
17
18  interface
19    function transform_to_spectral_from() result(spectral)
20      integer, allocatable :: spectral(:)
21    end function transform_to_spectral_from
22  end interface
23  if (any (transform_to_spectral_from () .ne. (/1,2/))) call abort ()
24end
25