29 lines
514 B
Fortran
29 lines
514 B
Fortran
! { 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
|