URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 302 |
Rev 384 |
! { dg-do run }
|
! { dg-do run }
|
! { dg-options "-fcheck=recursion" }
|
! { dg-options "-fcheck=recursion" }
|
! { dg-shouldfail "Recursion check" }
|
! { dg-shouldfail "Recursion check" }
|
!
|
!
|
! { dg-output "Fortran runtime error: Recursive call to nonrecursive procedure 'master.0.f'" }
|
! { dg-output "Fortran runtime error: Recursive call to nonrecursive procedure 'master.0.f'" }
|
!
|
!
|
! PR fortran/39577
|
! PR fortran/39577
|
!
|
!
|
! invalid - recursion
|
! invalid - recursion
|
module m
|
module m
|
implicit none
|
implicit none
|
contains
|
contains
|
subroutine f(rec)
|
subroutine f(rec)
|
logical :: rec
|
logical :: rec
|
if(rec) then
|
if(rec) then
|
call h()
|
call h()
|
end if
|
end if
|
return
|
return
|
entry g()
|
entry g()
|
end subroutine f
|
end subroutine f
|
subroutine h()
|
subroutine h()
|
call f(.false.)
|
call f(.false.)
|
end subroutine h
|
end subroutine h
|
end module m
|
end module m
|
|
|
program test
|
program test
|
use m
|
use m
|
implicit none
|
implicit none
|
call f(.false.)
|
call f(.false.)
|
call f(.true.)
|
call f(.true.)
|
end program test
|
end program test
|
! { dg-final { cleanup-modules "m" } }
|
! { dg-final { cleanup-modules "m" } }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.