Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / modfile52.f90
blobcec00cb8a38c70d19811ae117c06c60917081cab
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.
4 module m1
5 contains
6 subroutine foo
7 end subroutine
8 end module
9 module m2
10 use m1
11 interface foo
12 procedure foo
13 end interface
14 end module
15 module m3
16 type foo
17 end type
18 end module
19 module m4
20 use m4
21 interface foo
22 procedure bar
23 end interface
24 contains
25 integer function bar
26 end function
27 end module
29 !Expect: m1.mod
30 !module m1
31 !contains
32 !subroutine foo()
33 !end
34 !end
36 !Expect: m2.mod
37 !module m2
38 !use m1,only:foo
39 !interface foo
40 !procedure::foo
41 !end interface
42 !end
44 !Expect: m3.mod
45 !module m3
46 !type::foo
47 !end type
48 !end
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