1! { dg-do run }
2! { dg-options "-fcheck=recursion" }
3!
4! PR fortran/39577
5!
6! OK - no recursion
7program test
8 integer :: i
9 i = f(.false.)
10 print *,i
11 i = f(.false.)
12 print *,i
13contains
14  integer function f(rec)
15    logical :: rec
16    if(rec) then
17      f = g()
18    else
19      f = 42
20    end if
21  end function f
22  integer function g()
23    g = f(.false.)
24  end function g
25end program test
26