rt_gccstream/gcc/testsuite/gfortran.dg/entry_18.f90

37 lines
810 B
Fortran

! { dg-do compile }
! Test fix for PR37583, in which:
! (i) the reference to glocal prior to the ENTRY caused an internal
! error and
! (ii) the need for a RECURSIVE attribute was ignored.
!
! Contributed by Arjen Markus <arjen.markus@wldelft.nl>
!
module gsub
contains
recursive subroutine suba( g ) ! prefix with "RECURSIVE"
interface
real function g(x)
real x
end function
end interface
real :: x, y
call mysub( glocala )
return
entry glocala( x, y )
y = x
end subroutine
subroutine subb( g )
interface
real function g(x)
real x
end function
end interface
real :: x, y
call mysub( glocalb ) ! { dg-warning "Non-RECURSIVE" }
return
entry glocalb( x, y )
y = x
end subroutine
end module
! { dg-final { cleanup-modules "gsub" } }