1! { dg-do run } 2! { dg-options "-fcheck=recursion" } 3! { dg-shouldfail "Recursion check" } 4! 5! { dg-output "Fortran runtime error: Recursive call to nonrecursive procedure 'master.0.f'" } 6! 7! PR fortran/39577 8! 9! invalid - recursion 10module m 11 implicit none 12contains 13 subroutine f(rec) 14 logical :: rec 15 if(rec) then 16 call h() 17 end if 18 return 19 entry g() 20 end subroutine f 21 subroutine h() 22 call f(.false.) 23 end subroutine h 24end module m 25 26program test 27 use m 28 implicit none 29 call f(.false.) 30 call f(.true.) 31end program test 32