]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / include / clang / Basic / OpenMPKinds.def
1 //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 /// \file
10 /// This file defines the list of supported OpenMP directives and
11 /// clauses.
12 ///
13 //===----------------------------------------------------------------------===//
14
15 #ifndef OPENMP_DIRECTIVE
16 #  define OPENMP_DIRECTIVE(Name)
17 #endif
18 #ifndef OPENMP_DIRECTIVE_EXT
19 #define OPENMP_DIRECTIVE_EXT(Name, Str)
20 #endif
21 #ifndef OPENMP_CLAUSE
22 #  define OPENMP_CLAUSE(Name, Class)
23 #endif
24 #ifndef OPENMP_PARALLEL_CLAUSE
25 #  define OPENMP_PARALLEL_CLAUSE(Name)
26 #endif
27 #ifndef OPENMP_SIMD_CLAUSE
28 #  define OPENMP_SIMD_CLAUSE(Name)
29 #endif
30 #ifndef OPENMP_FOR_CLAUSE
31 #  define OPENMP_FOR_CLAUSE(Name)
32 #endif
33 #ifndef OPENMP_FOR_SIMD_CLAUSE
34 #  define OPENMP_FOR_SIMD_CLAUSE(Name)
35 #endif
36 #ifndef OPENMP_SECTIONS_CLAUSE
37 #  define OPENMP_SECTIONS_CLAUSE(Name)
38 #endif
39 #ifndef OPENMP_SINGLE_CLAUSE
40 #  define OPENMP_SINGLE_CLAUSE(Name)
41 #endif
42 #ifndef OPENMP_PARALLEL_FOR_CLAUSE
43 #  define OPENMP_PARALLEL_FOR_CLAUSE(Name)
44 #endif
45 #ifndef OPENMP_PARALLEL_FOR_SIMD_CLAUSE
46 #  define OPENMP_PARALLEL_FOR_SIMD_CLAUSE(Name)
47 #endif
48 #ifndef OPENMP_PARALLEL_SECTIONS_CLAUSE
49 #  define OPENMP_PARALLEL_SECTIONS_CLAUSE(Name)
50 #endif
51 #ifndef OPENMP_TASK_CLAUSE
52 #  define OPENMP_TASK_CLAUSE(Name)
53 #endif
54 #ifndef OPENMP_ATOMIC_CLAUSE
55 #  define OPENMP_ATOMIC_CLAUSE(Name)
56 #endif
57 #ifndef OPENMP_TARGET_CLAUSE
58 #  define OPENMP_TARGET_CLAUSE(Name)
59 #endif
60 #ifndef OPENMP_TARGET_DATA_CLAUSE
61 #  define OPENMP_TARGET_DATA_CLAUSE(Name)
62 #endif
63 #ifndef OPENMP_TARGET_ENTER_DATA_CLAUSE
64 #define OPENMP_TARGET_ENTER_DATA_CLAUSE(Name)
65 #endif
66 #ifndef OPENMP_TARGET_EXIT_DATA_CLAUSE
67 #define OPENMP_TARGET_EXIT_DATA_CLAUSE(Name)
68 #endif
69 #ifndef OPENMP_TARGET_PARALLEL_CLAUSE
70 #  define OPENMP_TARGET_PARALLEL_CLAUSE(Name)
71 #endif
72 #ifndef OPENMP_TARGET_PARALLEL_FOR_CLAUSE
73 #  define OPENMP_TARGET_PARALLEL_FOR_CLAUSE(Name)
74 #endif
75 #ifndef OPENMP_TARGET_UPDATE_CLAUSE
76 #  define OPENMP_TARGET_UPDATE_CLAUSE(Name)
77 #endif
78 #ifndef OPENMP_TEAMS_CLAUSE
79 #  define OPENMP_TEAMS_CLAUSE(Name)
80 #endif
81 #ifndef OPENMP_CANCEL_CLAUSE
82 #  define OPENMP_CANCEL_CLAUSE(Name)
83 #endif
84 #ifndef OPENMP_ORDERED_CLAUSE
85 #  define OPENMP_ORDERED_CLAUSE(Name)
86 #endif
87 #ifndef OPENMP_TASKLOOP_CLAUSE
88 #  define OPENMP_TASKLOOP_CLAUSE(Name)
89 #endif
90 #ifndef OPENMP_TASKLOOP_SIMD_CLAUSE
91 #  define OPENMP_TASKLOOP_SIMD_CLAUSE(Name)
92 #endif
93 #ifndef OPENMP_CRITICAL_CLAUSE
94 #  define OPENMP_CRITICAL_CLAUSE(Name)
95 #endif
96 #ifndef OPENMP_DISTRIBUTE_CLAUSE
97 #define OPENMP_DISTRIBUTE_CLAUSE(Name)
98 #endif
99 #ifndef OPENMP_DEFAULT_KIND
100 #  define OPENMP_DEFAULT_KIND(Name)
101 #endif
102 #ifndef OPENMP_PROC_BIND_KIND
103 #  define OPENMP_PROC_BIND_KIND(Name)
104 #endif
105 #ifndef OPENMP_SCHEDULE_KIND
106 #define OPENMP_SCHEDULE_KIND(Name)
107 #endif
108 #ifndef OPENMP_SCHEDULE_MODIFIER
109 #define OPENMP_SCHEDULE_MODIFIER(Name)
110 #endif
111 #ifndef OPENMP_DEPEND_KIND
112 #define OPENMP_DEPEND_KIND(Name)
113 #endif
114 #ifndef OPENMP_LINEAR_KIND
115 #define OPENMP_LINEAR_KIND(Name)
116 #endif
117 #ifndef OPENMP_MAP_KIND
118 #define OPENMP_MAP_KIND(Name)
119 #endif
120 #ifndef OPENMP_DIST_SCHEDULE_KIND
121 #define OPENMP_DIST_SCHEDULE_KIND(Name)
122 #endif
123 #ifndef OPENMP_DEFAULTMAP_KIND
124 #define OPENMP_DEFAULTMAP_KIND(Name)
125 #endif
126 #ifndef OPENMP_DEFAULTMAP_MODIFIER
127 #define OPENMP_DEFAULTMAP_MODIFIER(Name)
128 #endif
129 #ifndef OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE
130 #define OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name)
131 #endif
132 #ifndef OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
133 #define OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name)
134 #endif
135 #ifndef OPENMP_DISTRIBUTE_SIMD_CLAUSE
136 #define OPENMP_DISTRIBUTE_SIMD_CLAUSE(Name)
137 #endif
138 #ifndef OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE
139 #define OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(Name)
140 #endif
141 #ifndef OPENMP_TARGET_SIMD_CLAUSE
142 #define OPENMP_TARGET_SIMD_CLAUSE(Name)
143 #endif
144 #ifndef OPENMP_TEAMS_DISTRIBUTE_CLAUSE
145 #define OPENMP_TEAMS_DISTRIBUTE_CLAUSE(Name)
146 #endif
147 #ifndef OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE
148 #define OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name)
149 #endif
150 #ifndef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
151 #define OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name)
152 #endif
153 #ifndef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
154 #define OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name)
155 #endif
156 #ifndef OPENMP_TARGET_TEAMS_CLAUSE
157 #define OPENMP_TARGET_TEAMS_CLAUSE(Name)
158 #endif
159 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE
160 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(Name)
161 #endif
162 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
163 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name)
164 #endif
165 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
166 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name)
167 #endif
168 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE
169 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name)
170 #endif
171 #ifndef OPENMP_TASKGROUP_CLAUSE
172 #define OPENMP_TASKGROUP_CLAUSE(Name)
173 #endif
174
175 // OpenMP directives.
176 OPENMP_DIRECTIVE(threadprivate)
177 OPENMP_DIRECTIVE(parallel)
178 OPENMP_DIRECTIVE(task)
179 OPENMP_DIRECTIVE(simd)
180 OPENMP_DIRECTIVE(for)
181 OPENMP_DIRECTIVE(sections)
182 OPENMP_DIRECTIVE(section)
183 OPENMP_DIRECTIVE(single)
184 OPENMP_DIRECTIVE(master)
185 OPENMP_DIRECTIVE(critical)
186 OPENMP_DIRECTIVE(taskyield)
187 OPENMP_DIRECTIVE(barrier)
188 OPENMP_DIRECTIVE(taskwait)
189 OPENMP_DIRECTIVE(taskgroup)
190 OPENMP_DIRECTIVE(flush)
191 OPENMP_DIRECTIVE(ordered)
192 OPENMP_DIRECTIVE(atomic)
193 OPENMP_DIRECTIVE(target)
194 OPENMP_DIRECTIVE(teams)
195 OPENMP_DIRECTIVE(cancel)
196 OPENMP_DIRECTIVE_EXT(target_data, "target data")
197 OPENMP_DIRECTIVE_EXT(target_enter_data, "target enter data")
198 OPENMP_DIRECTIVE_EXT(target_exit_data, "target exit data")
199 OPENMP_DIRECTIVE_EXT(target_parallel, "target parallel")
200 OPENMP_DIRECTIVE_EXT(target_parallel_for, "target parallel for")
201 OPENMP_DIRECTIVE_EXT(target_update, "target update")
202 OPENMP_DIRECTIVE_EXT(parallel_for, "parallel for")
203 OPENMP_DIRECTIVE_EXT(parallel_for_simd, "parallel for simd")
204 OPENMP_DIRECTIVE_EXT(parallel_sections, "parallel sections")
205 OPENMP_DIRECTIVE_EXT(for_simd, "for simd")
206 OPENMP_DIRECTIVE_EXT(cancellation_point, "cancellation point")
207 OPENMP_DIRECTIVE_EXT(declare_reduction, "declare reduction")
208 OPENMP_DIRECTIVE_EXT(declare_simd, "declare simd")
209 OPENMP_DIRECTIVE(taskloop)
210 OPENMP_DIRECTIVE_EXT(taskloop_simd, "taskloop simd")
211 OPENMP_DIRECTIVE(distribute)
212 OPENMP_DIRECTIVE_EXT(declare_target, "declare target")
213 OPENMP_DIRECTIVE_EXT(end_declare_target, "end declare target")
214 OPENMP_DIRECTIVE_EXT(distribute_parallel_for, "distribute parallel for")
215 OPENMP_DIRECTIVE_EXT(distribute_parallel_for_simd, "distribute parallel for simd")
216 OPENMP_DIRECTIVE_EXT(distribute_simd, "distribute simd")
217 OPENMP_DIRECTIVE_EXT(target_parallel_for_simd, "target parallel for simd")
218 OPENMP_DIRECTIVE_EXT(target_simd, "target simd")
219 OPENMP_DIRECTIVE_EXT(teams_distribute, "teams distribute")
220 OPENMP_DIRECTIVE_EXT(teams_distribute_simd, "teams distribute simd")
221 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for_simd, "teams distribute parallel for simd")
222 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for, "teams distribute parallel for")
223 OPENMP_DIRECTIVE_EXT(target_teams, "target teams")
224 OPENMP_DIRECTIVE_EXT(target_teams_distribute, "target teams distribute")
225 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for, "target teams distribute parallel for")
226 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for_simd, "target teams distribute parallel for simd")
227 OPENMP_DIRECTIVE_EXT(target_teams_distribute_simd, "target teams distribute simd")
228
229 // OpenMP clauses.
230 OPENMP_CLAUSE(if, OMPIfClause)
231 OPENMP_CLAUSE(final, OMPFinalClause)
232 OPENMP_CLAUSE(num_threads, OMPNumThreadsClause)
233 OPENMP_CLAUSE(safelen, OMPSafelenClause)
234 OPENMP_CLAUSE(simdlen, OMPSimdlenClause)
235 OPENMP_CLAUSE(collapse, OMPCollapseClause)
236 OPENMP_CLAUSE(default, OMPDefaultClause)
237 OPENMP_CLAUSE(private, OMPPrivateClause)
238 OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause)
239 OPENMP_CLAUSE(lastprivate, OMPLastprivateClause)
240 OPENMP_CLAUSE(shared,  OMPSharedClause)
241 OPENMP_CLAUSE(reduction,  OMPReductionClause)
242 OPENMP_CLAUSE(linear,  OMPLinearClause)
243 OPENMP_CLAUSE(aligned, OMPAlignedClause)
244 OPENMP_CLAUSE(copyin,  OMPCopyinClause)
245 OPENMP_CLAUSE(copyprivate,  OMPCopyprivateClause)
246 OPENMP_CLAUSE(proc_bind, OMPProcBindClause)
247 OPENMP_CLAUSE(schedule, OMPScheduleClause)
248 OPENMP_CLAUSE(ordered, OMPOrderedClause)
249 OPENMP_CLAUSE(nowait, OMPNowaitClause)
250 OPENMP_CLAUSE(untied, OMPUntiedClause)
251 OPENMP_CLAUSE(mergeable, OMPMergeableClause)
252 OPENMP_CLAUSE(flush, OMPFlushClause)
253 OPENMP_CLAUSE(read, OMPReadClause)
254 OPENMP_CLAUSE(write, OMPWriteClause)
255 OPENMP_CLAUSE(update, OMPUpdateClause)
256 OPENMP_CLAUSE(capture, OMPCaptureClause)
257 OPENMP_CLAUSE(seq_cst, OMPSeqCstClause)
258 OPENMP_CLAUSE(depend, OMPDependClause)
259 OPENMP_CLAUSE(device, OMPDeviceClause)
260 OPENMP_CLAUSE(threads, OMPThreadsClause)
261 OPENMP_CLAUSE(simd, OMPSIMDClause)
262 OPENMP_CLAUSE(map, OMPMapClause)
263 OPENMP_CLAUSE(num_teams, OMPNumTeamsClause)
264 OPENMP_CLAUSE(thread_limit, OMPThreadLimitClause)
265 OPENMP_CLAUSE(priority, OMPPriorityClause)
266 OPENMP_CLAUSE(grainsize, OMPGrainsizeClause)
267 OPENMP_CLAUSE(nogroup, OMPNogroupClause)
268 OPENMP_CLAUSE(num_tasks, OMPNumTasksClause)
269 OPENMP_CLAUSE(hint, OMPHintClause)
270 OPENMP_CLAUSE(dist_schedule, OMPDistScheduleClause)
271 OPENMP_CLAUSE(defaultmap, OMPDefaultmapClause)
272 OPENMP_CLAUSE(to, OMPToClause)
273 OPENMP_CLAUSE(from, OMPFromClause)
274 OPENMP_CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
275 OPENMP_CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
276 OPENMP_CLAUSE(task_reduction,  OMPTaskReductionClause)
277 OPENMP_CLAUSE(in_reduction,  OMPInReductionClause)
278
279 // Clauses allowed for OpenMP directive 'parallel'.
280 OPENMP_PARALLEL_CLAUSE(if)
281 OPENMP_PARALLEL_CLAUSE(num_threads)
282 OPENMP_PARALLEL_CLAUSE(default)
283 OPENMP_PARALLEL_CLAUSE(proc_bind)
284 OPENMP_PARALLEL_CLAUSE(private)
285 OPENMP_PARALLEL_CLAUSE(firstprivate)
286 OPENMP_PARALLEL_CLAUSE(shared)
287 OPENMP_PARALLEL_CLAUSE(reduction)
288 OPENMP_PARALLEL_CLAUSE(copyin)
289
290 // Clauses allowed for directive 'omp simd'.
291 OPENMP_SIMD_CLAUSE(private)
292 OPENMP_SIMD_CLAUSE(lastprivate)
293 OPENMP_SIMD_CLAUSE(linear)
294 OPENMP_SIMD_CLAUSE(aligned)
295 OPENMP_SIMD_CLAUSE(safelen)
296 OPENMP_SIMD_CLAUSE(simdlen)
297 OPENMP_SIMD_CLAUSE(collapse)
298 OPENMP_SIMD_CLAUSE(reduction)
299
300 // Clauses allowed for directive 'omp for'.
301 OPENMP_FOR_CLAUSE(private)
302 OPENMP_FOR_CLAUSE(lastprivate)
303 OPENMP_FOR_CLAUSE(firstprivate)
304 OPENMP_FOR_CLAUSE(reduction)
305 OPENMP_FOR_CLAUSE(collapse)
306 OPENMP_FOR_CLAUSE(schedule)
307 OPENMP_FOR_CLAUSE(ordered)
308 OPENMP_FOR_CLAUSE(nowait)
309 OPENMP_FOR_CLAUSE(linear)
310
311 // Clauses allowed for directive 'omp for simd'.
312 OPENMP_FOR_SIMD_CLAUSE(private)
313 OPENMP_FOR_SIMD_CLAUSE(firstprivate)
314 OPENMP_FOR_SIMD_CLAUSE(lastprivate)
315 OPENMP_FOR_SIMD_CLAUSE(reduction)
316 OPENMP_FOR_SIMD_CLAUSE(schedule)
317 OPENMP_FOR_SIMD_CLAUSE(collapse)
318 OPENMP_FOR_SIMD_CLAUSE(nowait)
319 OPENMP_FOR_SIMD_CLAUSE(safelen)
320 OPENMP_FOR_SIMD_CLAUSE(simdlen)
321 OPENMP_FOR_SIMD_CLAUSE(linear)
322 OPENMP_FOR_SIMD_CLAUSE(aligned)
323 OPENMP_FOR_SIMD_CLAUSE(ordered)
324
325 // Clauses allowed for OpenMP directive 'omp sections'.
326 OPENMP_SECTIONS_CLAUSE(private)
327 OPENMP_SECTIONS_CLAUSE(lastprivate)
328 OPENMP_SECTIONS_CLAUSE(firstprivate)
329 OPENMP_SECTIONS_CLAUSE(reduction)
330 OPENMP_SECTIONS_CLAUSE(nowait)
331
332 // Clauses allowed for directive 'omp single'.
333 OPENMP_SINGLE_CLAUSE(private)
334 OPENMP_SINGLE_CLAUSE(firstprivate)
335 OPENMP_SINGLE_CLAUSE(copyprivate)
336 OPENMP_SINGLE_CLAUSE(nowait)
337
338 // Clauses allowed for OpenMP directive 'cancel'.
339 OPENMP_CANCEL_CLAUSE(if)
340
341 // Static attributes for 'default' clause.
342 OPENMP_DEFAULT_KIND(none)
343 OPENMP_DEFAULT_KIND(shared)
344
345 // Static attributes for 'proc_bind' clause.
346 OPENMP_PROC_BIND_KIND(master)
347 OPENMP_PROC_BIND_KIND(close)
348 OPENMP_PROC_BIND_KIND(spread)
349
350 // Static attributes for 'schedule' clause.
351 OPENMP_SCHEDULE_KIND(static)
352 OPENMP_SCHEDULE_KIND(dynamic)
353 OPENMP_SCHEDULE_KIND(guided)
354 OPENMP_SCHEDULE_KIND(auto)
355 OPENMP_SCHEDULE_KIND(runtime)
356
357 // Modifiers for 'schedule' clause.
358 OPENMP_SCHEDULE_MODIFIER(monotonic)
359 OPENMP_SCHEDULE_MODIFIER(nonmonotonic)
360 OPENMP_SCHEDULE_MODIFIER(simd)
361
362 // Static attributes for 'defaultmap' clause.
363 OPENMP_DEFAULTMAP_KIND(scalar)
364
365 // Modifiers for 'defaultmap' clause.
366 OPENMP_DEFAULTMAP_MODIFIER(tofrom)
367
368 // Static attributes for 'depend' clause.
369 OPENMP_DEPEND_KIND(in)
370 OPENMP_DEPEND_KIND(out)
371 OPENMP_DEPEND_KIND(inout)
372 OPENMP_DEPEND_KIND(source)
373 OPENMP_DEPEND_KIND(sink)
374
375 // Modifiers for 'linear' clause.
376 OPENMP_LINEAR_KIND(val)
377 OPENMP_LINEAR_KIND(ref)
378 OPENMP_LINEAR_KIND(uval)
379
380 // Clauses allowed for OpenMP directive 'parallel for'.
381 OPENMP_PARALLEL_FOR_CLAUSE(if)
382 OPENMP_PARALLEL_FOR_CLAUSE(num_threads)
383 OPENMP_PARALLEL_FOR_CLAUSE(default)
384 OPENMP_PARALLEL_FOR_CLAUSE(proc_bind)
385 OPENMP_PARALLEL_FOR_CLAUSE(private)
386 OPENMP_PARALLEL_FOR_CLAUSE(firstprivate)
387 OPENMP_PARALLEL_FOR_CLAUSE(shared)
388 OPENMP_PARALLEL_FOR_CLAUSE(reduction)
389 OPENMP_PARALLEL_FOR_CLAUSE(copyin)
390 OPENMP_PARALLEL_FOR_CLAUSE(lastprivate)
391 OPENMP_PARALLEL_FOR_CLAUSE(collapse)
392 OPENMP_PARALLEL_FOR_CLAUSE(schedule)
393 OPENMP_PARALLEL_FOR_CLAUSE(ordered)
394 OPENMP_PARALLEL_FOR_CLAUSE(linear)
395
396 // Clauses allowed for OpenMP directive 'parallel for simd'.
397 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(if)
398 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
399 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(default)
400 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
401 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(private)
402 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
403 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(shared)
404 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(reduction)
405 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(copyin)
406 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
407 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(collapse)
408 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(schedule)
409 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(safelen)
410 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
411 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(linear)
412 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(aligned)
413 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(ordered)
414
415 // Clauses allowed for OpenMP directive 'parallel sections'.
416 OPENMP_PARALLEL_SECTIONS_CLAUSE(if)
417 OPENMP_PARALLEL_SECTIONS_CLAUSE(num_threads)
418 OPENMP_PARALLEL_SECTIONS_CLAUSE(default)
419 OPENMP_PARALLEL_SECTIONS_CLAUSE(proc_bind)
420 OPENMP_PARALLEL_SECTIONS_CLAUSE(private)
421 OPENMP_PARALLEL_SECTIONS_CLAUSE(firstprivate)
422 OPENMP_PARALLEL_SECTIONS_CLAUSE(shared)
423 OPENMP_PARALLEL_SECTIONS_CLAUSE(reduction)
424 OPENMP_PARALLEL_SECTIONS_CLAUSE(copyin)
425 OPENMP_PARALLEL_SECTIONS_CLAUSE(lastprivate)
426
427 // Clauses allowed for OpenMP directive 'task'.
428 OPENMP_TASK_CLAUSE(if)
429 OPENMP_TASK_CLAUSE(final)
430 OPENMP_TASK_CLAUSE(default)
431 OPENMP_TASK_CLAUSE(private)
432 OPENMP_TASK_CLAUSE(firstprivate)
433 OPENMP_TASK_CLAUSE(shared)
434 OPENMP_TASK_CLAUSE(untied)
435 OPENMP_TASK_CLAUSE(mergeable)
436 OPENMP_TASK_CLAUSE(depend)
437 OPENMP_TASK_CLAUSE(priority)
438 OPENMP_TASK_CLAUSE(in_reduction)
439
440 // Clauses allowed for OpenMP directive 'atomic'.
441 OPENMP_ATOMIC_CLAUSE(read)
442 OPENMP_ATOMIC_CLAUSE(write)
443 OPENMP_ATOMIC_CLAUSE(update)
444 OPENMP_ATOMIC_CLAUSE(capture)
445 OPENMP_ATOMIC_CLAUSE(seq_cst)
446
447 // Clauses allowed for OpenMP directive 'target'.
448 OPENMP_TARGET_CLAUSE(if)
449 OPENMP_TARGET_CLAUSE(device)
450 OPENMP_TARGET_CLAUSE(map)
451 OPENMP_TARGET_CLAUSE(private)
452 OPENMP_TARGET_CLAUSE(nowait)
453 OPENMP_TARGET_CLAUSE(depend)
454 OPENMP_TARGET_CLAUSE(defaultmap)
455 OPENMP_TARGET_CLAUSE(firstprivate)
456 OPENMP_TARGET_CLAUSE(is_device_ptr)
457 OPENMP_TARGET_CLAUSE(reduction)
458
459 // Clauses allowed for OpenMP directive 'target data'.
460 OPENMP_TARGET_DATA_CLAUSE(if)
461 OPENMP_TARGET_DATA_CLAUSE(device)
462 OPENMP_TARGET_DATA_CLAUSE(map)
463 OPENMP_TARGET_DATA_CLAUSE(use_device_ptr)
464
465 // Clauses allowed for OpenMP directive 'target enter data'.
466 OPENMP_TARGET_ENTER_DATA_CLAUSE(if)
467 OPENMP_TARGET_ENTER_DATA_CLAUSE(device)
468 OPENMP_TARGET_ENTER_DATA_CLAUSE(map)
469 OPENMP_TARGET_ENTER_DATA_CLAUSE(nowait)
470 OPENMP_TARGET_ENTER_DATA_CLAUSE(depend)
471
472 // Clauses allowed for OpenMP directive 'target exit data'.
473 OPENMP_TARGET_EXIT_DATA_CLAUSE(if)
474 OPENMP_TARGET_EXIT_DATA_CLAUSE(device)
475 OPENMP_TARGET_EXIT_DATA_CLAUSE(map)
476 OPENMP_TARGET_EXIT_DATA_CLAUSE(nowait)
477 OPENMP_TARGET_EXIT_DATA_CLAUSE(depend)
478
479 // Clauses allowed for OpenMP directive 'target parallel'.
480 OPENMP_TARGET_PARALLEL_CLAUSE(if)
481 OPENMP_TARGET_PARALLEL_CLAUSE(device)
482 OPENMP_TARGET_PARALLEL_CLAUSE(map)
483 OPENMP_TARGET_PARALLEL_CLAUSE(private)
484 OPENMP_TARGET_PARALLEL_CLAUSE(firstprivate)
485 OPENMP_TARGET_PARALLEL_CLAUSE(nowait)
486 OPENMP_TARGET_PARALLEL_CLAUSE(depend)
487 OPENMP_TARGET_PARALLEL_CLAUSE(defaultmap)
488 OPENMP_TARGET_PARALLEL_CLAUSE(num_threads)
489 OPENMP_TARGET_PARALLEL_CLAUSE(default)
490 OPENMP_TARGET_PARALLEL_CLAUSE(proc_bind)
491 OPENMP_TARGET_PARALLEL_CLAUSE(shared)
492 OPENMP_TARGET_PARALLEL_CLAUSE(reduction)
493 OPENMP_TARGET_PARALLEL_CLAUSE(is_device_ptr)
494
495 // Clauses allowed for OpenMP directive 'target parallel for'.
496 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(if)
497 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(device)
498 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(map)
499 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(private)
500 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(firstprivate)
501 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(lastprivate)
502 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(nowait)
503 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(depend)
504 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(defaultmap)
505 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(num_threads)
506 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(default)
507 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(proc_bind)
508 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(shared)
509 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(reduction)
510 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(collapse)
511 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(schedule)
512 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(ordered)
513 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(linear)
514 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(is_device_ptr)
515
516 // Clauses allowed for OpenMP directive 'target update'.
517 OPENMP_TARGET_UPDATE_CLAUSE(if)
518 OPENMP_TARGET_UPDATE_CLAUSE(device)
519 OPENMP_TARGET_UPDATE_CLAUSE(to)
520 OPENMP_TARGET_UPDATE_CLAUSE(from)
521 OPENMP_TARGET_UPDATE_CLAUSE(nowait)
522 OPENMP_TARGET_UPDATE_CLAUSE(depend)
523
524 // Clauses allowed for OpenMP directive 'teams'.
525 OPENMP_TEAMS_CLAUSE(default)
526 OPENMP_TEAMS_CLAUSE(private)
527 OPENMP_TEAMS_CLAUSE(firstprivate)
528 OPENMP_TEAMS_CLAUSE(shared)
529 OPENMP_TEAMS_CLAUSE(reduction)
530 OPENMP_TEAMS_CLAUSE(num_teams)
531 OPENMP_TEAMS_CLAUSE(thread_limit)
532
533 // Clauses allowed for OpenMP directive 'ordered'.
534 OPENMP_ORDERED_CLAUSE(threads)
535 OPENMP_ORDERED_CLAUSE(simd)
536 OPENMP_ORDERED_CLAUSE(depend)
537
538 // Map types and map type modifier for 'map' clause.
539 OPENMP_MAP_KIND(alloc)
540 OPENMP_MAP_KIND(to)
541 OPENMP_MAP_KIND(from)
542 OPENMP_MAP_KIND(tofrom)
543 OPENMP_MAP_KIND(delete)
544 OPENMP_MAP_KIND(release)
545 OPENMP_MAP_KIND(always)
546
547 // Clauses allowed for OpenMP directive 'taskloop'.
548 OPENMP_TASKLOOP_CLAUSE(if)
549 OPENMP_TASKLOOP_CLAUSE(shared)
550 OPENMP_TASKLOOP_CLAUSE(private)
551 OPENMP_TASKLOOP_CLAUSE(firstprivate)
552 OPENMP_TASKLOOP_CLAUSE(lastprivate)
553 OPENMP_TASKLOOP_CLAUSE(default)
554 OPENMP_TASKLOOP_CLAUSE(collapse)
555 OPENMP_TASKLOOP_CLAUSE(final)
556 OPENMP_TASKLOOP_CLAUSE(untied)
557 OPENMP_TASKLOOP_CLAUSE(mergeable)
558 OPENMP_TASKLOOP_CLAUSE(priority)
559 OPENMP_TASKLOOP_CLAUSE(grainsize)
560 OPENMP_TASKLOOP_CLAUSE(nogroup)
561 OPENMP_TASKLOOP_CLAUSE(num_tasks)
562 OPENMP_TASKLOOP_CLAUSE(reduction)
563 OPENMP_TASKLOOP_CLAUSE(in_reduction)
564
565 // Clauses allowed for OpenMP directive 'taskloop simd'.
566 OPENMP_TASKLOOP_SIMD_CLAUSE(if)
567 OPENMP_TASKLOOP_SIMD_CLAUSE(shared)
568 OPENMP_TASKLOOP_SIMD_CLAUSE(private)
569 OPENMP_TASKLOOP_SIMD_CLAUSE(firstprivate)
570 OPENMP_TASKLOOP_SIMD_CLAUSE(lastprivate)
571 OPENMP_TASKLOOP_SIMD_CLAUSE(default)
572 OPENMP_TASKLOOP_SIMD_CLAUSE(collapse)
573 OPENMP_TASKLOOP_SIMD_CLAUSE(final)
574 OPENMP_TASKLOOP_SIMD_CLAUSE(untied)
575 OPENMP_TASKLOOP_SIMD_CLAUSE(mergeable)
576 OPENMP_TASKLOOP_SIMD_CLAUSE(priority)
577 OPENMP_TASKLOOP_SIMD_CLAUSE(linear)
578 OPENMP_TASKLOOP_SIMD_CLAUSE(aligned)
579 OPENMP_TASKLOOP_SIMD_CLAUSE(safelen)
580 OPENMP_TASKLOOP_SIMD_CLAUSE(simdlen)
581 OPENMP_TASKLOOP_SIMD_CLAUSE(grainsize)
582 OPENMP_TASKLOOP_SIMD_CLAUSE(nogroup)
583 OPENMP_TASKLOOP_SIMD_CLAUSE(num_tasks)
584 OPENMP_TASKLOOP_SIMD_CLAUSE(reduction)
585 OPENMP_TASKLOOP_SIMD_CLAUSE(in_reduction)
586
587 // Clauses allowed for OpenMP directive 'critical'.
588 OPENMP_CRITICAL_CLAUSE(hint)
589
590 // Clauses allowed for OpenMP directive 'distribute'
591 OPENMP_DISTRIBUTE_CLAUSE(private)
592 OPENMP_DISTRIBUTE_CLAUSE(firstprivate)
593 OPENMP_DISTRIBUTE_CLAUSE(lastprivate)
594 OPENMP_DISTRIBUTE_CLAUSE(collapse)
595 OPENMP_DISTRIBUTE_CLAUSE(dist_schedule)
596
597 // Static attributes for 'dist_schedule' clause.
598 OPENMP_DIST_SCHEDULE_KIND(static)
599
600 // Clauses allowed for OpenMP directive 'distribute parallel for'
601 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate)
602 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate)
603 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse)
604 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule)
605 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if)
606 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads)
607 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default)
608 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind)
609 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private)
610 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared)
611 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction)
612 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(copyin)
613 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
614
615 // Clauses allowed for OpenMP directive 'distribute parallel for simd'
616 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
617 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
618 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse)
619 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule)
620 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if)
621 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
622 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default)
623 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
624 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private)
625 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared)
626 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction)
627 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(copyin)
628 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule)
629 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear)
630 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned)
631 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen)
632 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
633
634 // Clauses allowed for OpenMP directive 'distribute simd'
635 OPENMP_DISTRIBUTE_SIMD_CLAUSE(private)
636 OPENMP_DISTRIBUTE_SIMD_CLAUSE(firstprivate)
637 OPENMP_DISTRIBUTE_SIMD_CLAUSE(lastprivate)
638 OPENMP_DISTRIBUTE_SIMD_CLAUSE(collapse)
639 OPENMP_DISTRIBUTE_SIMD_CLAUSE(dist_schedule)
640 OPENMP_DISTRIBUTE_SIMD_CLAUSE(linear)
641 OPENMP_DISTRIBUTE_SIMD_CLAUSE(aligned)
642 OPENMP_DISTRIBUTE_SIMD_CLAUSE(safelen)
643 OPENMP_DISTRIBUTE_SIMD_CLAUSE(simdlen)
644 OPENMP_DISTRIBUTE_SIMD_CLAUSE(reduction)
645
646 // Clauses allowed for OpenMP directive 'target parallel for simd'.
647 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(if)
648 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(device)
649 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(map)
650 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(private)
651 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
652 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
653 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(nowait)
654 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(depend)
655 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(defaultmap)
656 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
657 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(default)
658 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
659 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(shared)
660 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(reduction)
661 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(collapse)
662 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(schedule)
663 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(ordered)
664 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(linear)
665 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(safelen)
666 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
667 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(aligned)
668 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(is_device_ptr)
669
670 // Clauses allowed for OpenMP directive 'target simd'.
671 OPENMP_TARGET_SIMD_CLAUSE(if)
672 OPENMP_TARGET_SIMD_CLAUSE(device)
673 OPENMP_TARGET_SIMD_CLAUSE(map)
674 OPENMP_TARGET_SIMD_CLAUSE(private)
675 OPENMP_TARGET_SIMD_CLAUSE(nowait)
676 OPENMP_TARGET_SIMD_CLAUSE(depend)
677 OPENMP_TARGET_SIMD_CLAUSE(defaultmap)
678 OPENMP_TARGET_SIMD_CLAUSE(firstprivate)
679 OPENMP_TARGET_SIMD_CLAUSE(is_device_ptr)
680 OPENMP_TARGET_SIMD_CLAUSE(lastprivate)
681 OPENMP_TARGET_SIMD_CLAUSE(linear)
682 OPENMP_TARGET_SIMD_CLAUSE(aligned)
683 OPENMP_TARGET_SIMD_CLAUSE(safelen)
684 OPENMP_TARGET_SIMD_CLAUSE(simdlen)
685 OPENMP_TARGET_SIMD_CLAUSE(collapse)
686 OPENMP_TARGET_SIMD_CLAUSE(reduction)
687
688 // Clauses allowed for OpenMP directive 'teams distribute'.
689 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(default)
690 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(private)
691 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(firstprivate)
692 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(shared)
693 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(reduction)
694 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(num_teams)
695 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(thread_limit)
696 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(lastprivate)
697 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(collapse)
698 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(dist_schedule)
699
700 // Clauses allowed for OpenMP directive 'teams distribute simd'
701 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(default)
702 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(private)
703 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(firstprivate)
704 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(shared)
705 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(reduction)
706 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(num_teams)
707 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(thread_limit)
708 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(lastprivate)
709 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(collapse)
710 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(dist_schedule)
711 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(linear)
712 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(aligned)
713 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(safelen)
714 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(simdlen)
715
716 // Clauses allowed for OpenMP directive 'teams distribute parallel for simd'
717 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
718 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
719 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse)
720 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule)
721 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if)
722 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
723 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default)
724 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
725 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private)
726 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared)
727 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction)
728 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule)
729 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear)
730 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned)
731 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen)
732 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
733 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_teams)
734 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(thread_limit)
735
736 // Clauses allowed for OpenMP directive 'teams distribute parallel for'
737 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate)
738 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate)
739 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse)
740 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule)
741 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if)
742 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads)
743 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default)
744 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind)
745 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private)
746 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared)
747 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction)
748 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
749 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_teams)
750 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(thread_limit)
751 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(copyin)
752
753 // Clauses allowed for OpenMP directive 'target teams'.
754 OPENMP_TARGET_TEAMS_CLAUSE(if)
755 OPENMP_TARGET_TEAMS_CLAUSE(device)
756 OPENMP_TARGET_TEAMS_CLAUSE(map)
757 OPENMP_TARGET_TEAMS_CLAUSE(private)
758 OPENMP_TARGET_TEAMS_CLAUSE(nowait)
759 OPENMP_TARGET_TEAMS_CLAUSE(depend)
760 OPENMP_TARGET_TEAMS_CLAUSE(defaultmap)
761 OPENMP_TARGET_TEAMS_CLAUSE(firstprivate)
762 OPENMP_TARGET_TEAMS_CLAUSE(is_device_ptr)
763 OPENMP_TARGET_TEAMS_CLAUSE(default)
764 OPENMP_TARGET_TEAMS_CLAUSE(shared)
765 OPENMP_TARGET_TEAMS_CLAUSE(reduction)
766 OPENMP_TARGET_TEAMS_CLAUSE(num_teams)
767 OPENMP_TARGET_TEAMS_CLAUSE(thread_limit)
768
769 // Clauses allowed for OpenMP directive 'target teams distribute'.
770 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(if)
771 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(device)
772 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(map)
773 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(private)
774 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(nowait)
775 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(depend)
776 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(defaultmap)
777 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(firstprivate)
778 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(is_device_ptr)
779 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(default)
780 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(shared)
781 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(reduction)
782 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(num_teams)
783 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(thread_limit)
784 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(lastprivate)
785 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(collapse)
786 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(dist_schedule)
787
788 // Clauses allowed for OpenMP directive 'target teams distribute parallel for'.
789 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if)
790 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(device)
791 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(map)
792 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private)
793 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(nowait)
794 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(depend)
795 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(defaultmap)
796 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate)
797 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(is_device_ptr)
798 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default)
799 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared)
800 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction)
801 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_teams)
802 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(thread_limit)
803 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate)
804 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse)
805 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule)
806 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads)
807 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind)
808 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
809
810 // Clauses allowed for OpenMP directive
811 // 'target teams distribute parallel for simd'.
812 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if)
813 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(device)
814 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(map)
815 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private)
816 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(nowait)
817 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(depend)
818 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(defaultmap)
819 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
820 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(is_device_ptr)
821 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default)
822 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared)
823 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction)
824 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_teams)
825 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(thread_limit)
826 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
827 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse)
828 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule)
829 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
830 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
831 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule)
832 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear)
833 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned)
834 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen)
835 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
836
837 // Clauses allowed for OpenMP directive 'target teams distribute simd'.
838 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(if)
839 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(device)
840 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(map)
841 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(private)
842 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(nowait)
843 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(depend)
844 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(defaultmap)
845 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(firstprivate)
846 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(lastprivate)
847 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(is_device_ptr)
848 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(shared)
849 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(reduction)
850 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(num_teams)
851 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(thread_limit)
852 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(collapse)
853 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(dist_schedule)
854 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(linear)
855 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(aligned)
856 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(safelen)
857 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(simdlen)
858
859 // Clauses allowed for OpenMP directive 'taskgroup'.
860 OPENMP_TASKGROUP_CLAUSE(task_reduction)
861
862 #undef OPENMP_TASKGROUP_CLAUSE
863 #undef OPENMP_TASKLOOP_SIMD_CLAUSE
864 #undef OPENMP_TASKLOOP_CLAUSE
865 #undef OPENMP_LINEAR_KIND
866 #undef OPENMP_DEPEND_KIND
867 #undef OPENMP_SCHEDULE_MODIFIER
868 #undef OPENMP_SCHEDULE_KIND
869 #undef OPENMP_PROC_BIND_KIND
870 #undef OPENMP_DEFAULT_KIND
871 #undef OPENMP_DIRECTIVE
872 #undef OPENMP_DIRECTIVE_EXT
873 #undef OPENMP_CLAUSE
874 #undef OPENMP_CRITICAL_CLAUSE
875 #undef OPENMP_ORDERED_CLAUSE
876 #undef OPENMP_CANCEL_CLAUSE
877 #undef OPENMP_SINGLE_CLAUSE
878 #undef OPENMP_SECTIONS_CLAUSE
879 #undef OPENMP_PARALLEL_CLAUSE
880 #undef OPENMP_PARALLEL_FOR_CLAUSE
881 #undef OPENMP_PARALLEL_FOR_SIMD_CLAUSE
882 #undef OPENMP_PARALLEL_SECTIONS_CLAUSE
883 #undef OPENMP_TASK_CLAUSE
884 #undef OPENMP_ATOMIC_CLAUSE
885 #undef OPENMP_TARGET_CLAUSE
886 #undef OPENMP_TARGET_DATA_CLAUSE
887 #undef OPENMP_TARGET_ENTER_DATA_CLAUSE
888 #undef OPENMP_TARGET_EXIT_DATA_CLAUSE
889 #undef OPENMP_TARGET_PARALLEL_CLAUSE
890 #undef OPENMP_TARGET_PARALLEL_FOR_CLAUSE
891 #undef OPENMP_TEAMS_CLAUSE
892 #undef OPENMP_SIMD_CLAUSE
893 #undef OPENMP_FOR_CLAUSE
894 #undef OPENMP_FOR_SIMD_CLAUSE
895 #undef OPENMP_MAP_KIND
896 #undef OPENMP_DISTRIBUTE_CLAUSE
897 #undef OPENMP_DIST_SCHEDULE_KIND
898 #undef OPENMP_DEFAULTMAP_KIND
899 #undef OPENMP_DEFAULTMAP_MODIFIER
900 #undef OPENMP_TARGET_UPDATE_CLAUSE
901 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE
902 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
903 #undef OPENMP_DISTRIBUTE_SIMD_CLAUSE
904 #undef OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE
905 #undef OPENMP_TARGET_SIMD_CLAUSE
906 #undef OPENMP_TEAMS_DISTRIBUTE_CLAUSE
907 #undef OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE
908 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
909 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
910 #undef OPENMP_TARGET_TEAMS_CLAUSE
911 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE
912 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
913 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
914 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE