1! { dg-do run }
2! PR fortran/35830
3!
4function f()
5  real, allocatable :: f(:)
6  allocate(f(1:3))
7  f(1:3)= (/9,8,7/)
8end function
9
10program test
11  implicit none
12  abstract interface
13    function ai()
14      real, allocatable :: ai(:)
15    end function
16  end interface
17  procedure(ai) :: f
18  if(any(f() /= [9,8,7])) call abort()
19  if(size(f()) /= 3) call abort()
20end
21