6 type, extends(t2
) :: t2e
11 class(*), allocatable
:: au
, au2(:,:)
12 class(t2
), allocatable
:: at
, at2(:,:)
15 type(t
), target
:: var
, var0
, var2(4), var2a(4)
16 class(*), allocatable
:: au
, au2(:,:)
17 class(t2
), allocatable
:: at
, at2(:,:)
20 if (same_type_as (var
%au
, var
%at
)) error
stop 1
21 if (same_type_as (var
%au2
, var
%at
)) error
stop 2
22 if (same_type_as (var
%au
, var
%at
)) error
stop 3
23 ! Note: class(*) has no declared type, hence .false.
24 if (same_type_as (var
%au
, var0
%au
)) error
stop 4
25 if (same_type_as (var
%au2
, var0
%au2
)) error
stop 5
26 if (same_type_as (var
%au
, var0
%au2
)) error
stop 6
27 call c1(var
%au
, var
%au
, var
%au2
)
29 if (.not
.same_type_as (var
%at
, var
%at
)) error
stop 7
30 if (.not
.same_type_as (var
%at2
, var
%at
)) error
stop 8
31 if (.not
.same_type_as (var
%at
, var
%at2
)) error
stop 9
32 if (.not
.extends_type_of (var
%at
, var
%at
)) error
stop 10
33 if (.not
.extends_type_of (var
%at2
, var
%at
)) error
stop 11
34 if (.not
.extends_type_of (var
%at
, var
%at2
)) error
stop 12
35 if (same_type_as (var
%at
, var0
%au
)) error
stop 13
36 if (same_type_as (var
%at2
, var0
%au2
)) error
stop 14
37 if (same_type_as (var
%at
, var0
%au2
)) error
stop 15
38 call c2(var
%at
, var
%at
, var
%at2
)
40 if (same_type_as (au
, var
%at
)) error
stop 16
41 if (same_type_as (au2
, var
%at
)) error
stop 17
42 if (same_type_as (au
, var
%at
)) error
stop 18
43 ! Note: class(*) has no declared type, hence .false.
44 if (same_type_as (au
, var0
%au
)) error
stop 19
45 if (same_type_as (au2
, var0
%au2
)) error
stop 20
46 if (same_type_as (au
, var0
%au2
)) error
stop 21
47 call c1(au
, var
%au
, var
%au2
)
49 if (.not
.same_type_as (at
, var
%at
)) error
stop 22
50 if (.not
.same_type_as (at2
, var
%at
)) error
stop 23
51 if (.not
.same_type_as (at
, var
%at2
)) error
stop 24
52 if (.not
.extends_type_of (at
, var
%at
)) error
stop 25
53 if (.not
.extends_type_of (at2
, var
%at
)) error
stop 26
54 if (.not
.extends_type_of (at
, var
%at2
)) error
stop 27
55 if (same_type_as (at
, var0
%au
)) error
stop 28
56 if (same_type_as (at2
, var0
%au2
)) error
stop 29
57 if (same_type_as (at
, var0
%au2
)) error
stop 30
58 call c2(var
%at
, var
%at
, var
%at2
)
60 if (same_type_as (var
%au
, at
)) error
stop 31
61 if (same_type_as (var
%au2
, at
)) error
stop 32
62 if (same_type_as (var
%au
, at
)) error
stop 33
63 ! Note: class(*) has no declared type, hence .false.
64 if (same_type_as (var
%au
, au
)) error
stop 34
65 if (same_type_as (var
%au2
, au2
)) error
stop 35
66 if (same_type_as (var
%au
, au2
)) error
stop 36
67 call c1(var
%au
, var
%au
, au2
)
69 if (.not
.same_type_as (var
%at
, at
)) error
stop 37
70 if (.not
.same_type_as (var
%at2
, at
)) error
stop 38
71 if (.not
.same_type_as (var
%at
, at2
)) error
stop 39
72 if (.not
.extends_type_of (var
%at
, at
)) error
stop 40
73 if (.not
.extends_type_of (var
%at2
, at
)) error
stop 41
74 if (.not
.extends_type_of (var
%at
, at2
)) error
stop 42
75 if (same_type_as (var
%at
, au
)) error
stop 43
76 if (same_type_as (var
%at2
, au2
)) error
stop 44
77 if (same_type_as (var
%at
, au2
)) error
stop 45
78 call c2(var
%at
, var
%at
, at2
)
80 allocate(t2e
:: var0
%at
, var0
%at2(4,4))
81 allocate(t2
:: var0
%au
, var0
%au2(4,4))
83 if (.not
.same_type_as (var0
%au
, var
%at
)) error
stop 46
84 if (.not
.same_type_as (var0
%au2
, var
%at
)) error
stop 47
85 if (.not
.same_type_as (var0
%au
, var
%at
)) error
stop 48
86 if (.not
.same_type_as (var0
%au
, var0
%au2
)) error
stop 49
87 if (.not
.same_type_as (var0
%au2
, var0
%au2
)) error
stop 50
88 if (.not
.same_type_as (var0
%au
, var0
%au2
)) error
stop 51
89 if (.not
.extends_type_of (var0
%au
, var
%at
)) error
stop 52
90 if (.not
.extends_type_of (var0
%au2
, var
%at
)) error
stop 53
91 if (.not
.extends_type_of (var0
%au
, var
%at
)) error
stop 54
92 if (.not
.extends_type_of (var0
%au
, var0
%au2
)) error
stop 55
93 if (.not
.extends_type_of (var0
%au2
, var0
%au2
)) error
stop 56
94 if (.not
.extends_type_of (var0
%au
, var0
%au2
)) error
stop 57
96 if (.not
.same_type_as (var0
%au
, at
)) error
stop 58
97 if (.not
.same_type_as (var0
%au2
, at
)) error
stop 59
98 if (.not
.same_type_as (var0
%au
, at2
)) error
stop 60
99 if (.not
.extends_type_of (var0
%au
, at
)) error
stop 61
100 if (.not
.extends_type_of (var0
%au2
, at
)) error
stop 62
101 if (.not
.extends_type_of (var0
%au
, at2
)) error
stop 63
103 if (same_type_as (var0
%at
, var
%at
)) error
stop 64
104 if (same_type_as (var0
%at2
, var
%at
)) error
stop 65
105 if (same_type_as (var0
%at
, var
%at
)) error
stop 66
106 if (same_type_as (var0
%at
, var0
%au2
)) error
stop 67
107 if (same_type_as (var0
%at2
, var0
%au2
)) error
stop 68
108 if (same_type_as (var0
%at
, var0
%au2
)) error
stop 69
109 if (.not
.extends_type_of (var0
%at
, var
%at
)) error
stop 70
110 if (.not
.extends_type_of (var0
%at2
, var
%at
)) error
stop 71
111 if (.not
.extends_type_of (var0
%at
, var
%at
)) error
stop 72
112 if (.not
.extends_type_of (var0
%at
, var0
%au2
)) error
stop 73
113 if (.not
.extends_type_of (var0
%at2
, var0
%au2
)) error
stop 74
114 if (.not
.extends_type_of (var0
%at
, var0
%au2
)) error
stop 75
116 if (same_type_as (var0
%at
, at
)) error
stop 76
117 if (same_type_as (var0
%at2
, at
)) error
stop 77
118 if (same_type_as (var0
%at
, at2
)) error
stop 78
119 if (.not
.extends_type_of (var0
%at
, at
)) error
stop 79
120 if (.not
.extends_type_of (var0
%at2
, at
)) error
stop 80
121 if (.not
.extends_type_of (var0
%at
, at2
)) error
stop 81
123 call c3(var0
%au
, var0
%au2
, var0
%at
, var0
%at2
)
124 call c4(var0
%au
, var0
%au2
, var0
%at
, var0
%at2
)
127 subroutine c1(x
, y
, z
)
128 class(*) :: x
, y(..), z(..)
129 if (same_type_as (x
, var0
%at
)) error
stop 82
130 if (same_type_as (y
, var0
%at
)) error
stop 83
131 if (same_type_as (z
, var0
%at
)) error
stop 84
132 if (same_type_as (x
, var
%au
)) error
stop 85
133 if (same_type_as (y
, var
%au2
)) error
stop 86
134 if (same_type_as (z
, var
%au2
)) error
stop 87
136 if (same_type_as (x
, at
)) error
stop 88
137 if (same_type_as (y
, at
)) error
stop 89
138 if (same_type_as (z
, at
)) error
stop 90
139 if (same_type_as (x
, au
)) error
stop 91
140 if (same_type_as (y
, au2
)) error
stop 92
141 if (same_type_as (z
, au2
)) error
stop 93
144 subroutine c2(x
, y
, z
)
145 class(*) :: x
, y(..), z(..)
146 if (.not
.same_type_as (x
, var0
%at
)) error
stop 94
147 if (.not
.same_type_as (y
, var0
%at
)) error
stop 95
148 if (.not
.same_type_as (z
, var0
%at
)) error
stop 96
149 if (.not
.extends_type_of (x
, var0
%at
)) error
stop 97
150 if (.not
.extends_type_of (y
, var0
%at
)) error
stop 98
151 if (.not
.extends_type_of (z
, var0
%at
)) error
stop 99
152 if (same_type_as (x
, var
%au
)) error
stop 100
153 if (same_type_as (y
, var
%au2
)) error
stop 101
154 if (same_type_as (z
, var
%au2
)) error
stop 102
156 if (.not
.same_type_as (x
, at
)) error
stop 103
157 if (.not
.same_type_as (y
, at
)) error
stop 104
158 if (.not
.same_type_as (z
, at
)) error
stop 105
159 if (.not
.extends_type_of (x
, at
)) error
stop 106
160 if (.not
.extends_type_of (y
, at
)) error
stop 107
161 if (.not
.extends_type_of (z
, at
)) error
stop 108
162 if (same_type_as (x
, au
)) error
stop 109
163 if (same_type_as (y
, au2
)) error
stop 110
164 if (same_type_as (z
, au2
)) error
stop 111
167 subroutine c3(mau
, mau2
, mat
, mat2
)
168 class(*) :: mau
, mau2(:,:), mat
, mat2(:,:)
170 if (.not
.same_type_as (mau
, var
%at
)) error
stop 112
171 if (.not
.same_type_as (mau2
, var
%at
)) error
stop 113
172 if (.not
.same_type_as (mau
, var
%at
)) error
stop 114
173 if (.not
.same_type_as (mau
, var0
%au2
)) error
stop 115
174 if (.not
.same_type_as (mau2
, var0
%au2
)) error
stop 116
175 if (.not
.same_type_as (mau
, var0
%au2
)) error
stop 117
176 if (.not
.extends_type_of (mau
, var
%at
)) error
stop 118
177 if (.not
.extends_type_of (mau2
, var
%at
)) error
stop 119
178 if (.not
.extends_type_of (mau
, var
%at
)) error
stop 120
179 if (.not
.extends_type_of (mau
, var0
%au2
)) error
stop 121
180 if (.not
.extends_type_of (mau2
, var0
%au2
)) error
stop 122
181 if (.not
.extends_type_of (mau
, var0
%au2
)) error
stop 123
183 if (.not
.same_type_as (mau
, at
)) error
stop 124
184 if (.not
.same_type_as (mau2
, at
)) error
stop 125
185 if (.not
.same_type_as (mau
, at2
)) error
stop 126
186 if (.not
.extends_type_of (mau
, at
)) error
stop 127
187 if (.not
.extends_type_of (mau2
, at
)) error
stop 128
188 if (.not
.extends_type_of (mau
, at2
)) error
stop 129
190 if (same_type_as (mat
, var
%at
)) error
stop 130
191 if (same_type_as (mat2
, var
%at
)) error
stop 131
192 if (same_type_as (mat
, var
%at
)) error
stop 132
193 if (same_type_as (mat
, var0
%au2
)) error
stop 133
194 if (same_type_as (mat2
, var0
%au2
)) error
stop 134
195 if (same_type_as (mat
, var0
%au2
)) error
stop 135
196 if (.not
.extends_type_of (mat
, var
%at
)) error
stop 136
197 if (.not
.extends_type_of (mat2
, var
%at
)) error
stop 137
198 if (.not
.extends_type_of (mat
, var
%at
)) error
stop 138
199 if (.not
.extends_type_of (mat
, var0
%au2
)) error
stop 139
200 if (.not
.extends_type_of (mat2
, var0
%au2
)) error
stop 140
201 if (.not
.extends_type_of (mat
, var0
%au2
)) error
stop 141
203 if (same_type_as (mat
, at
)) error
stop 142
204 if (same_type_as (mat2
, at
)) error
stop 143
205 if (same_type_as (mat
, at2
)) error
stop 144
206 if (.not
.extends_type_of (mat
, at
)) error
stop 145
207 if (.not
.extends_type_of (mat2
, at
)) error
stop 147
208 if (.not
.extends_type_of (mat
, at2
)) error
stop 148
211 subroutine c4(mau
, mau2
, mat
, mat2
)
212 class(*) :: mau(..), mau2(..), mat(..), mat2(..)
214 if (.not
.same_type_as (mau
, var
%at
)) error
stop 149
215 if (.not
.same_type_as (mau2
, var
%at
)) error
stop 150
216 if (.not
.same_type_as (mau
, var
%at
)) error
stop 151
217 if (.not
.same_type_as (mau
, var0
%au2
)) error
stop 152
218 if (.not
.same_type_as (mau2
, var0
%au2
)) error
stop 153
219 if (.not
.same_type_as (mau
, var0
%au2
)) error
stop 154
220 if (.not
.extends_type_of (mau
, var
%at
)) error
stop 155
221 if (.not
.extends_type_of (mau2
, var
%at
)) error
stop 156
222 if (.not
.extends_type_of (mau
, var
%at
)) error
stop 157
223 if (.not
.extends_type_of (mau
, var0
%au2
)) error
stop 158
224 if (.not
.extends_type_of (mau2
, var0
%au2
)) error
stop 159
225 if (.not
.extends_type_of (mau
, var0
%au2
)) error
stop 160
227 if (.not
.same_type_as (mau
, at
)) error
stop 161
228 if (.not
.same_type_as (mau2
, at
)) error
stop 162
229 if (.not
.same_type_as (mau
, at2
)) error
stop 163
230 if (.not
.extends_type_of (mau
, at
)) error
stop 164
231 if (.not
.extends_type_of (mau2
, at
)) error
stop 165
232 if (.not
.extends_type_of (mau
, at2
)) error
stop 166
234 if (same_type_as (mat
, var
%at
)) error
stop 167
235 if (same_type_as (mat2
, var
%at
)) error
stop 168
236 if (same_type_as (mat
, var
%at
)) error
stop 169
237 if (same_type_as (mat
, var0
%au2
)) error
stop 170
238 if (same_type_as (mat2
, var0
%au2
)) error
stop 171
239 if (same_type_as (mat
, var0
%au2
)) error
stop 172
240 if (.not
.extends_type_of (mat
, var
%at
)) error
stop 173
241 if (.not
.extends_type_of (mat2
, var
%at
)) error
stop 174
242 if (.not
.extends_type_of (mat
, var
%at
)) error
stop 175
243 if (.not
.extends_type_of (mat
, var0
%au2
)) error
stop 176
244 if (.not
.extends_type_of (mat2
, var0
%au2
)) error
stop 178
245 if (.not
.extends_type_of (mat
, var0
%au2
)) error
stop 179
247 if (same_type_as (mat
, at
)) error
stop 180
248 if (same_type_as (mat2
, at
)) error
stop 181
249 if (same_type_as (mat
, at2
)) error
stop 182
250 if (.not
.extends_type_of (mat
, at
)) error
stop 183
251 if (.not
.extends_type_of (mat2
, at
)) error
stop 184
252 if (.not
.extends_type_of (mat
, at2
)) error
stop 185