summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/entry_12.f90
blob: 5513697a17cd096d759e2d049b67e5d885af43da (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
! { dg-do run }
! Tests the fix for pr31609, where module procedure entries found
! themselves in the wrong namespace.  This test checks that all
! combinations of generic and specific calls work correctly.
!
! Contributed by Paul Thomas <pault@gcc.gnu.org> as comment #8 to the pr.
!
MODULE ksbin1_aux_mod
  interface foo
    module procedure j
  end interface
  interface bar
    module procedure k
  end interface
  interface foobar
    module procedure j, k
  end interface
  CONTAINS
    FUNCTION j () 
    j = 1
    return
    ENTRY k (i) 
    k = 2
    END FUNCTION j
END MODULE ksbin1_aux_mod

    use ksbin1_aux_mod
    if (any ((/foo (), bar (99), foobar (), foobar (99), j (), k (99)/) .ne. &
             (/1, 2, 1, 2, 1, 2/))) Call abort ()
end
! { dg-final { cleanup-modules "ksbin1_aux_mod" } }