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

38 lines
805 B
Fortran

! { dg-do compile }
! Test the fix for PR42481, in which 'sub' was not recognised as
! a generic interface.
!
! Contributed by William Mitchell < william.mitchell@nist.gov>
!
module mod1
contains
subroutine sub(x, chr)
real x
character(8) chr
if (trim (chr) .ne. "real") call abort
if (int (x) .ne. 1) call abort
end subroutine sub
end module mod1
module mod2
use mod1
interface sub
module procedure sub, sub_int
end interface sub
contains
subroutine sub_int(i, chr)
character(8) chr
integer i
if (trim (chr) .ne. "integer") call abort
if (i .ne. 1) call abort
end subroutine sub_int
end module mod2
program prog
use mod1
use mod2
call sub(1, "integer ")
call sub(1.0, "real ")
end program prog
! { dg-final { cleanup-modules "mod1 mod2" } }