summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/generic_6.f90
blob: 9d08ac223e49ee41810cc2872ffc4f4def9c58e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
! { 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" } }