re PR fortran/78741 (ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1534)
[official-gcc.git] / gcc / testsuite / gfortran.dg / goacc / loop-5.f95
blobd059cf7f3777294559c7420dcfb5929a8b9ac1f2
1 program test
2 implicit none
3 integer :: i, j
5 !$acc kernels
6 !$acc loop auto
7 DO i = 1,10
8 ENDDO
9 !$acc loop gang
10 DO i = 1,10
11 ENDDO
12 !$acc loop gang(5)
13 DO i = 1,10
14 ENDDO
15 !$acc loop gang(num:5)
16 DO i = 1,10
17 ENDDO
18 !$acc loop gang(static:5)
19 DO i = 1,10
20 ENDDO
21 !$acc loop gang(static:*)
22 DO i = 1,10
23 ENDDO
24 !$acc loop gang
25 DO i = 1,10
26 !$acc loop vector
27 DO j = 1,10
28 ENDDO
29 !$acc loop worker
30 DO j = 1,10
31 ENDDO
32 ENDDO
34 !$acc loop worker
35 DO i = 1,10
36 ENDDO
37 !$acc loop worker(5)
38 DO i = 1,10
39 ENDDO
40 !$acc loop worker(num:5)
41 DO i = 1,10
42 ENDDO
43 !$acc loop worker
44 DO i = 1,10
45 !$acc loop vector
46 DO j = 1,10
47 ENDDO
48 ENDDO
49 !$acc loop gang worker
50 DO i = 1,10
51 ENDDO
53 !$acc loop vector
54 DO i = 1,10
55 ENDDO
56 !$acc loop vector(5)
57 DO i = 1,10
58 ENDDO
59 !$acc loop vector(length:5)
60 DO i = 1,10
61 ENDDO
62 !$acc loop vector
63 DO i = 1,10
64 ENDDO
65 !$acc loop gang vector
66 DO i = 1,10
67 ENDDO
68 !$acc loop worker vector
69 DO i = 1,10
70 ENDDO
72 !$acc loop auto
73 DO i = 1,10
74 ENDDO
76 !$acc loop tile(1)
77 DO i = 1,10
78 ENDDO
79 !$acc loop tile(2)
80 DO i = 1,10
81 ENDDO
82 !$acc loop tile(6-2)
83 DO i = 1,10
84 ENDDO
85 !$acc loop tile(6+2)
86 DO i = 1,10
87 ENDDO
88 !$acc loop tile(*)
89 DO i = 1,10
90 ENDDO
91 !$acc loop tile(*, 1)
92 DO i = 1,10
93 DO j = 1,10
94 ENDDO
95 ENDDO
96 !$acc loop tile(-1) ! { dg-warning "must be positive" }
97 do i = 1,10
98 enddo
99 !$acc loop vector tile(*)
100 DO i = 1,10
101 ENDDO
102 !$acc loop worker tile(*)
103 DO i = 1,10
104 ENDDO
105 !$acc loop gang tile(*)
106 DO i = 1,10
107 ENDDO
108 !$acc loop vector gang tile(*)
109 DO i = 1,10
110 ENDDO
111 !$acc loop vector worker tile(*)
112 DO i = 1,10
113 ENDDO
114 !$acc loop gang worker tile(*)
115 DO i = 1,10
116 ENDDO
117 !$acc end kernels
120 !$acc parallel
121 !$acc loop tile(1)
122 DO i = 1,10
123 ENDDO
124 !$acc loop tile(*)
125 DO i = 1,10
126 ENDDO
127 !$acc loop tile(2)
128 DO i = 1,10
129 DO j = 1,10
130 ENDDO
131 ENDDO
132 !$acc loop tile(-1) ! { dg-warning "must be positive" }
133 do i = 1,10
134 enddo
135 !$acc loop vector tile(*)
136 DO i = 1,10
137 ENDDO
138 !$acc loop worker tile(*)
139 DO i = 1,10
140 ENDDO
141 !$acc loop gang tile(*)
142 DO i = 1,10
143 ENDDO
144 !$acc loop vector gang tile(*)
145 DO i = 1,10
146 ENDDO
147 !$acc loop vector worker tile(*)
148 DO i = 1,10
149 ENDDO
150 !$acc loop gang worker tile(*)
151 DO i = 1,10
152 ENDDO
153 !$acc end parallel
155 !$acc kernels loop auto
156 DO i = 1,10
157 ENDDO
158 !$acc kernels loop gang
159 DO i = 1,10
160 ENDDO
161 !$acc kernels loop gang(5)
162 DO i = 1,10
163 ENDDO
164 !$acc kernels loop gang(num:5)
165 DO i = 1,10
166 ENDDO
167 !$acc kernels loop gang(static:5)
168 DO i = 1,10
169 ENDDO
170 !$acc kernels loop gang(static:*)
171 DO i = 1,10
172 ENDDO
173 !$acc kernels loop gang
174 DO i = 1,10
175 !$acc kernels loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
176 DO j = 1,10
177 ENDDO
178 ENDDO
180 !$acc kernels loop worker
181 DO i = 1,10
182 ENDDO
183 !$acc kernels loop worker(5)
184 DO i = 1,10
185 ENDDO
186 !$acc kernels loop worker(num:5)
187 DO i = 1,10
188 ENDDO
189 !$acc kernels loop worker
190 DO i = 1,10
191 !$acc kernels loop worker ! { dg-error "OpenACC construct inside of non-OpenACC region" }
192 DO j = 1,10
193 ENDDO
194 !$acc kernels loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
195 DO j = 1,10
196 ENDDO
197 ENDDO
198 !$acc kernels loop gang worker
199 DO i = 1,10
200 ENDDO
202 !$acc kernels loop vector
203 DO i = 1,10
204 ENDDO
205 !$acc kernels loop vector(5)
206 DO i = 1,10
207 ENDDO
208 !$acc kernels loop vector(length:5)
209 DO i = 1,10
210 ENDDO
211 !$acc kernels loop vector
212 DO i = 1,10
213 !$acc kernels loop vector ! { dg-error "OpenACC construct inside of non-OpenACC region" }
214 DO j = 1,10
215 ENDDO
216 !$acc kernels loop worker ! { dg-error "OpenACC construct inside of non-OpenACC region" }
217 DO j = 1,10
218 ENDDO
219 !$acc kernels loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
220 DO j = 1,10
221 ENDDO
222 ENDDO
223 !$acc kernels loop gang vector
224 DO i = 1,10
225 ENDDO
226 !$acc kernels loop worker vector
227 DO i = 1,10
228 ENDDO
230 !$acc kernels loop auto
231 DO i = 1,10
232 ENDDO
234 !$acc kernels loop tile(1)
235 DO i = 1,10
236 ENDDO
237 !$acc kernels loop tile(*)
238 DO i = 1,10
239 ENDDO
240 !$acc kernels loop tile(*, 1)
241 DO i = 1,10
242 DO j = 1,10
243 ENDDO
244 ENDDO
245 !$acc kernels loop tile(-1) ! { dg-warning "must be positive" }
246 do i = 1,10
247 enddo
248 !$acc kernels loop vector tile(*)
249 DO i = 1,10
250 ENDDO
251 !$acc kernels loop worker tile(*)
252 DO i = 1,10
253 ENDDO
254 !$acc kernels loop gang tile(*)
255 DO i = 1,10
256 ENDDO
257 !$acc kernels loop vector gang tile(*)
258 DO i = 1,10
259 ENDDO
260 !$acc kernels loop vector worker tile(*)
261 DO i = 1,10
262 ENDDO
263 !$acc kernels loop gang worker tile(*)
264 DO i = 1,10
265 ENDDO
267 !$acc parallel loop auto
268 DO i = 1,10
269 ENDDO
270 !$acc parallel loop gang
271 DO i = 1,10
272 ENDDO
273 !$acc parallel loop gang(static:5)
274 DO i = 1,10
275 ENDDO
276 !$acc parallel loop gang(static:*)
277 DO i = 1,10
278 ENDDO
279 !$acc parallel loop gang
280 DO i = 1,10
281 !$acc parallel loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
282 DO j = 1,10
283 ENDDO
284 ENDDO
286 !$acc parallel loop worker
287 DO i = 1,10
288 ENDDO
289 !$acc parallel loop worker
290 DO i = 1,10
291 !$acc parallel loop worker ! { dg-error "OpenACC construct inside of non-OpenACC region" }
292 DO j = 1,10
293 ENDDO
294 !$acc parallel loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
295 DO j = 1,10
296 ENDDO
297 ENDDO
298 !$acc parallel loop gang worker
299 DO i = 1,10
300 ENDDO
302 !$acc parallel loop vector
303 DO i = 1,10
304 !$acc parallel loop vector ! { dg-error "OpenACC construct inside of non-OpenACC region" }
305 DO j = 1,10
306 ENDDO
307 !$acc parallel loop worker ! { dg-error "OpenACC construct inside of non-OpenACC region" }
308 DO j = 1,10
309 ENDDO
310 !$acc parallel loop gang ! { dg-error "OpenACC construct inside of non-OpenACC region" }
311 DO j = 1,10
312 ENDDO
313 ENDDO
314 !$acc parallel loop gang vector
315 DO i = 1,10
316 ENDDO
317 !$acc parallel loop worker vector
318 DO i = 1,10
319 ENDDO
321 !$acc parallel loop auto
322 DO i = 1,10
323 ENDDO
325 !$acc parallel loop tile(1)
326 DO i = 1,10
327 ENDDO
328 !$acc parallel loop tile(*)
329 DO i = 1,10
330 ENDDO
331 !$acc parallel loop tile(*, 1)
332 DO i = 1,10
333 DO j = 1,10
334 ENDDO
335 ENDDO
336 !$acc parallel loop tile(-1) ! { dg-warning "must be positive" }
337 do i = 1,10
338 enddo
339 !$acc parallel loop vector tile(*)
340 DO i = 1,10
341 ENDDO
342 !$acc parallel loop worker tile(*)
343 DO i = 1,10
344 ENDDO
345 !$acc parallel loop gang tile(*)
346 DO i = 1,10
347 ENDDO
348 !$acc parallel loop vector gang tile(*)
349 DO i = 1,10
350 ENDDO
351 !$acc parallel loop vector worker tile(*)
352 DO i = 1,10
353 ENDDO
354 !$acc parallel loop gang worker tile(*)
355 DO i = 1,10
356 ENDDO