! { dg-do run } | |
! { dg-options "-fcheck=recursion" } | |
! { dg-shouldfail "Recursion check" } | |
! | |
! { dg-output "Fortran runtime error: Recursive call to nonrecursive procedure 'f'" } | |
! | |
! PR fortran/39577 | |
! | |
! wrong - recursion | |
program test | |
integer :: i | |
i = f(.false.) | |
print *,i | |
i = f(.true.) | |
print *,i | |
contains | |
integer function f(rec) | |
logical :: rec | |
if(rec) then | |
f = g() | |
else | |
f = 42 | |
end if | |
end function f | |
integer function g() | |
g = f(.false.) | |
end function g | |
end program test |