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