xref: /llvm-project/flang/test/Semantics/modfile52.f90 (revision 3411263dde4f3c49356b8433336f25a73dc4844c)
1! RUN: %python %S/test_modfile.py %s %flang_fc1
2! Ensure that procedure name or derived type name that has been shadowed
3! behind a generic interface gets its proper USE statement in a module file.
4module m1
5 contains
6  subroutine foo
7  end subroutine
8end module
9module m2
10  use m1
11  interface foo
12    procedure foo
13  end interface
14end module
15module m3
16  type foo
17  end type
18end module
19module m4
20  use m4
21  interface foo
22    procedure bar
23  end interface
24 contains
25  integer function bar
26  end function
27end module
28
29!Expect: m1.mod
30!module m1
31!contains
32!subroutine foo()
33!end
34!end
35
36!Expect: m2.mod
37!module m2
38!use m1,only:foo
39!interface foo
40!procedure::foo
41!end interface
42!end
43
44!Expect: m3.mod
45!module m3
46!type::foo
47!end type
48!end
49
50!Expect: m4.mod
51!module m4
52!interface foo
53!procedure::bar
54!end interface
55!contains
56!function bar()
57!integer(4)::bar
58!end
59!end
60