repo.or.cz
/
llvm-project.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Break circular dependency between FIR dialect and utilities
[llvm-project.git]
/
flang
/
test
/
Semantics
/
label15.f90
blob
58b9184b893737f6579c99b8ea8d09721a27bf93
1
! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s
2
3
!CHECK-NOT: error:
4
module
mm
5
interface
6
module subroutine
m
(
n
)
7
end
8
end interface
9
end module
mm
10
11
program
p
12
use
mm
13
20
print
*,
'p'
14
21
call
p1
15
22
call
p2
16
23
f0
=
f
(
0
);
print
'(f5.1)'
,
f0
17
24
f1
=
f
(
1
);
print
'(f5.1)'
,
f1
18
25
call
s
(
0
);
call
s
(
1
)
19
26
call
m
(
0
);
call
m
(
1
)
20
27
if
(.
false
.)
goto
29
21
28
print
*,
'px'
22
contains
23
subroutine
p1
24
print
*,
'p1'
25
goto
29
26
29
end subroutine
p1
27
subroutine
p2
28
print
*,
'p2'
29
goto
29
30
29
end subroutine
p2
31
29
end
32
33
function
f
(
n
)
34
print
*,
'f'
35
31
call
f1
36
32
call
f2
37
f
=
30
.
38
if
(
n
==
0
)
goto
39
39
f
=
f
+
3
.
40
print
*,
'fx'
41
contains
42
subroutine
f1
43
print
*,
'f1'
44
goto
39
45
39
end subroutine
f1
46
subroutine
f2
47
print
*,
'f2'
48
goto
39
49
39
end subroutine
f2
50
39
end
51
52
subroutine
s
(
n
)
53
print
*,
's'
54
41
call
s1
55
42
call
s2
56
43
call
s3
57
if
(
n
==
0
)
goto
49
58
print
*,
'sx'
59
contains
60
subroutine
s1
61
print
*,
's1'
62
goto
49
63
49
end subroutine
s1
64
subroutine
s2
65
print
*,
's2'
66
goto
49
67
49
end subroutine
s2
68
subroutine
s3
69
print
*,
's3'
70
goto
49
71
49
end subroutine
s3
72
49
end
73
74
submodule
(
mm
)
mm1
75
contains
76
module
procedure m
77
print
*,
'm'
78
50
call
m1
79
51
call
m2
80
if
(
n
==
0
)
goto
59
81
print
*,
'mx'
82
contains
83
subroutine
m1
84
print
*,
'm1'
85
goto
59
86
59
end subroutine
m1
87
subroutine
m2
88
print
*,
'm2'
89
goto
59
90
59
end subroutine
m2
91
59
end
procedure m
92
end
submodule mm1