1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
! { dg-do run } ! { dg-options "-frecursive" } program recursive_stack call foo (.true.) end program recursive_stack subroutine foo (recurse) logical recurse integer iarray(100,100) if (recurse) then iarray(49,49) = 17 call bar if (iarray(49,49) .ne. 17) call abort else iarray(49,49) = 21 end if end subroutine foo subroutine bar call foo (.false.) end subroutine bar