50 lines
962 B
Fortran
50 lines
962 B
Fortran
! { dg-do compile }
|
|
! Tests the patch for PR28873, in which the call create () would cause an
|
|
! error because resolve.c(resolve_generic_s) was failing to look in the
|
|
! parent namespace for a matching specific subroutine. This, in fact, was
|
|
! a regression due to the fix for PR28201.
|
|
!
|
|
! Contributed by Drew McCormack <drewmccormack@mac.com>
|
|
!
|
|
module A
|
|
private
|
|
interface create
|
|
module procedure create1
|
|
end interface
|
|
public :: create
|
|
contains
|
|
subroutine create1
|
|
print *, "module A"
|
|
end subroutine
|
|
end module
|
|
|
|
module B
|
|
private
|
|
interface create
|
|
module procedure create1
|
|
end interface
|
|
public :: create
|
|
contains
|
|
subroutine create1(a)
|
|
integer a
|
|
print *, "module B"
|
|
end subroutine
|
|
end module
|
|
|
|
module C
|
|
use A
|
|
private
|
|
public useCreate
|
|
contains
|
|
subroutine useCreate
|
|
use B
|
|
call create()
|
|
call create(1)
|
|
end subroutine
|
|
end module
|
|
|
|
use c
|
|
call useCreate
|
|
end
|
|
! { dg-final { cleanup-modules "A B C" } }
|