File: modfile61.f90

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,998,492 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (130 lines) | stat: -rw-r--r-- 2,174 bytes parent folder | download | duplicates (12)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
! RUN: %python %S/test_modfile.py %s %flang_fc1
module m
  type t1
    procedure(p1), pointer, nopass :: p
  end type
  type t2
    procedure(p2), pointer, nopass :: p
  end type
  type t3
    procedure(p4), pointer, nopass :: p
  end type
  type t4
    procedure(p6), pointer, nopass :: p
  end type
  type t5
    procedure(p7), pointer, nopass :: p
  end type
  interface
    subroutine p1
    end
    subroutine p2
    end
    subroutine p3
    end
    subroutine p4
    end
    subroutine p5(c)
      import
      type(t3), intent(in) :: c
    end
    subroutine p6(d)
      import
      type(t5), intent(in) :: d
    end
    subroutine p7
    end
    subroutine p8
    end
    function f(a,b,dp)
      import
      type(t1), intent(in) :: a
      type, extends(t2) :: localt1
        procedure(p3), pointer, nopass :: p
      end type
      type, extends(localt1) :: localt2
       contains
        procedure, nopass :: p8
      end type
      type(localt2), intent(in) :: b
      procedure(p5) dp
      type(t4), pointer :: f
    end
  end interface
end

!Expect: m.mod
!module m
!type::t1
!procedure(p1),nopass,pointer::p
!end type
!type::t2
!procedure(p2),nopass,pointer::p
!end type
!type::t3
!procedure(p4),nopass,pointer::p
!end type
!type::t4
!procedure(p6),nopass,pointer::p
!end type
!type::t5
!procedure(p7),nopass,pointer::p
!end type
!interface
!subroutine p1()
!end
!end interface
!interface
!subroutine p2()
!end
!end interface
!interface
!subroutine p3()
!end
!end interface
!interface
!subroutine p4()
!end
!end interface
!interface
!subroutine p5(c)
!import::t3
!type(t3),intent(in)::c
!end
!end interface
!interface
!subroutine p6(d)
!import::t5
!type(t5),intent(in)::d
!end
!end interface
!interface
!subroutine p7()
!end
!end interface
!interface
!subroutine p8()
!end
!end interface
!interface
!function f(a,b,dp)
!import::p3
!import::p5
!import::p8
!import::t1
!import::t2
!import::t4
!type(t1),intent(in)::a
!type,extends(t2)::localt1
!procedure(p3),nopass,pointer::p
!end type
!type,extends(localt1)::localt2
!contains
!procedure,nopass::p8
!end type
!type(localt2),intent(in)::b
!procedure(p5)::dp
!type(t4),pointer::f
!end
!end interface
!end