-
Notifications
You must be signed in to change notification settings - Fork 13.3k
/
Copy pathbug132435.f90
85 lines (76 loc) · 1.23 KB
/
bug132435.f90
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
! RUN: %python %S/test_modfile.py %s %flang_fc1
module m1
type foo
integer :: c1 = 123
end type
end
module m2
use m1, only: foo
type baz
type(foo) :: d = foo()
end type
type bar
type(baz) :: e = baz()
end type
end
module m3
use m1, only: m1foo => foo
type foo
type(m1foo), private :: c2 = m1foo()
end type
end
module m4
use m2, only: m3foo => foo
type foo
type(m3foo), private :: c3 = m3foo()
end type
end
module m5
use m2, only: m2bar => bar
use m4, only: foo
type blah
type(m2bar) :: f = m2bar()
end type
end
!Expect: m1.mod
!module m1
!type::foo
!integer(4)::c1=123_4
!end type
!end
!Expect: m2.mod
!module m2
!use m1,only:foo
!type::baz
!type(foo)::d=foo(c1=123_4)
!end type
!type::bar
!type(baz)::e=baz(d=foo(c1=123_4))
!end type
!end
!Expect: m3.mod
!module m3
!use m1,only:m1foo=>foo
!type::foo
!type(m1foo),private::c2=m1foo(c1=123_4)
!end type
!end
!Expect: m4.mod
!module m4
!use m2,only:m3foo=>foo
!type::foo
!type(m3foo),private::c3=m3foo(c1=123_4)
!end type
!end
!Expect: m5.mod
!module m5
!use m2,only:m2$foo=>foo
!use m2,only:baz
!use m2,only:m2bar=>bar
!use m4,only:foo
!private::m2$foo
!private::baz
!type::blah
!type(m2bar)::f=m2bar(e=baz(d=m2$foo(c1=123_4)))
!end type
!end