]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def
Merge llvm, clang, lld and lldb trunk r291012, and resolve conflicts.
[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
169 // OpenMP directives.
170 OPENMP_DIRECTIVE(threadprivate)
171 OPENMP_DIRECTIVE(parallel)
172 OPENMP_DIRECTIVE(task)
173 OPENMP_DIRECTIVE(simd)
174 OPENMP_DIRECTIVE(for)
175 OPENMP_DIRECTIVE(sections)
176 OPENMP_DIRECTIVE(section)
177 OPENMP_DIRECTIVE(single)
178 OPENMP_DIRECTIVE(master)
179 OPENMP_DIRECTIVE(critical)
180 OPENMP_DIRECTIVE(taskyield)
181 OPENMP_DIRECTIVE(barrier)
182 OPENMP_DIRECTIVE(taskwait)
183 OPENMP_DIRECTIVE(taskgroup)
184 OPENMP_DIRECTIVE(flush)
185 OPENMP_DIRECTIVE(ordered)
186 OPENMP_DIRECTIVE(atomic)
187 OPENMP_DIRECTIVE(target)
188 OPENMP_DIRECTIVE(teams)
189 OPENMP_DIRECTIVE(cancel)
190 OPENMP_DIRECTIVE_EXT(target_data, "target data")
191 OPENMP_DIRECTIVE_EXT(target_enter_data, "target enter data")
192 OPENMP_DIRECTIVE_EXT(target_exit_data, "target exit data")
193 OPENMP_DIRECTIVE_EXT(target_parallel, "target parallel")
194 OPENMP_DIRECTIVE_EXT(target_parallel_for, "target parallel for")
195 OPENMP_DIRECTIVE_EXT(target_update, "target update")
196 OPENMP_DIRECTIVE_EXT(parallel_for, "parallel for")
197 OPENMP_DIRECTIVE_EXT(parallel_for_simd, "parallel for simd")
198 OPENMP_DIRECTIVE_EXT(parallel_sections, "parallel sections")
199 OPENMP_DIRECTIVE_EXT(for_simd, "for simd")
200 OPENMP_DIRECTIVE_EXT(cancellation_point, "cancellation point")
201 OPENMP_DIRECTIVE_EXT(declare_reduction, "declare reduction")
202 OPENMP_DIRECTIVE_EXT(declare_simd, "declare simd")
203 OPENMP_DIRECTIVE(taskloop)
204 OPENMP_DIRECTIVE_EXT(taskloop_simd, "taskloop simd")
205 OPENMP_DIRECTIVE(distribute)
206 OPENMP_DIRECTIVE_EXT(declare_target, "declare target")
207 OPENMP_DIRECTIVE_EXT(end_declare_target, "end declare target")
208 OPENMP_DIRECTIVE_EXT(distribute_parallel_for, "distribute parallel for")
209 OPENMP_DIRECTIVE_EXT(distribute_parallel_for_simd, "distribute parallel for simd")
210 OPENMP_DIRECTIVE_EXT(distribute_simd, "distribute simd")
211 OPENMP_DIRECTIVE_EXT(target_parallel_for_simd, "target parallel for simd")
212 OPENMP_DIRECTIVE_EXT(target_simd, "target simd")
213 OPENMP_DIRECTIVE_EXT(teams_distribute, "teams distribute")
214 OPENMP_DIRECTIVE_EXT(teams_distribute_simd, "teams distribute simd")
215 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for_simd, "teams distribute parallel for simd")
216 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for, "teams distribute parallel for")
217 OPENMP_DIRECTIVE_EXT(target_teams, "target teams")
218 OPENMP_DIRECTIVE_EXT(target_teams_distribute, "target teams distribute")
219 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for, "target teams distribute parallel for")
220 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for_simd, "target teams distribute parallel for simd")
221
222 // OpenMP clauses.
223 OPENMP_CLAUSE(if, OMPIfClause)
224 OPENMP_CLAUSE(final, OMPFinalClause)
225 OPENMP_CLAUSE(num_threads, OMPNumThreadsClause)
226 OPENMP_CLAUSE(safelen, OMPSafelenClause)
227 OPENMP_CLAUSE(simdlen, OMPSimdlenClause)
228 OPENMP_CLAUSE(collapse, OMPCollapseClause)
229 OPENMP_CLAUSE(default, OMPDefaultClause)
230 OPENMP_CLAUSE(private, OMPPrivateClause)
231 OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause)
232 OPENMP_CLAUSE(lastprivate, OMPLastprivateClause)
233 OPENMP_CLAUSE(shared,  OMPSharedClause)
234 OPENMP_CLAUSE(reduction,  OMPReductionClause)
235 OPENMP_CLAUSE(linear,  OMPLinearClause)
236 OPENMP_CLAUSE(aligned, OMPAlignedClause)
237 OPENMP_CLAUSE(copyin,  OMPCopyinClause)
238 OPENMP_CLAUSE(copyprivate,  OMPCopyprivateClause)
239 OPENMP_CLAUSE(proc_bind, OMPProcBindClause)
240 OPENMP_CLAUSE(schedule, OMPScheduleClause)
241 OPENMP_CLAUSE(ordered, OMPOrderedClause)
242 OPENMP_CLAUSE(nowait, OMPNowaitClause)
243 OPENMP_CLAUSE(untied, OMPUntiedClause)
244 OPENMP_CLAUSE(mergeable, OMPMergeableClause)
245 OPENMP_CLAUSE(flush, OMPFlushClause)
246 OPENMP_CLAUSE(read, OMPReadClause)
247 OPENMP_CLAUSE(write, OMPWriteClause)
248 OPENMP_CLAUSE(update, OMPUpdateClause)
249 OPENMP_CLAUSE(capture, OMPCaptureClause)
250 OPENMP_CLAUSE(seq_cst, OMPSeqCstClause)
251 OPENMP_CLAUSE(depend, OMPDependClause)
252 OPENMP_CLAUSE(device, OMPDeviceClause)
253 OPENMP_CLAUSE(threads, OMPThreadsClause)
254 OPENMP_CLAUSE(simd, OMPSIMDClause)
255 OPENMP_CLAUSE(map, OMPMapClause)
256 OPENMP_CLAUSE(num_teams, OMPNumTeamsClause)
257 OPENMP_CLAUSE(thread_limit, OMPThreadLimitClause)
258 OPENMP_CLAUSE(priority, OMPPriorityClause)
259 OPENMP_CLAUSE(grainsize, OMPGrainsizeClause)
260 OPENMP_CLAUSE(nogroup, OMPNogroupClause)
261 OPENMP_CLAUSE(num_tasks, OMPNumTasksClause)
262 OPENMP_CLAUSE(hint, OMPHintClause)
263 OPENMP_CLAUSE(dist_schedule, OMPDistScheduleClause)
264 OPENMP_CLAUSE(defaultmap, OMPDefaultmapClause)
265 OPENMP_CLAUSE(to, OMPToClause)
266 OPENMP_CLAUSE(from, OMPFromClause)
267 OPENMP_CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
268 OPENMP_CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
269
270 // Clauses allowed for OpenMP directive 'parallel'.
271 OPENMP_PARALLEL_CLAUSE(if)
272 OPENMP_PARALLEL_CLAUSE(num_threads)
273 OPENMP_PARALLEL_CLAUSE(default)
274 OPENMP_PARALLEL_CLAUSE(proc_bind)
275 OPENMP_PARALLEL_CLAUSE(private)
276 OPENMP_PARALLEL_CLAUSE(firstprivate)
277 OPENMP_PARALLEL_CLAUSE(shared)
278 OPENMP_PARALLEL_CLAUSE(reduction)
279 OPENMP_PARALLEL_CLAUSE(copyin)
280
281 // Clauses allowed for directive 'omp simd'.
282 OPENMP_SIMD_CLAUSE(private)
283 OPENMP_SIMD_CLAUSE(lastprivate)
284 OPENMP_SIMD_CLAUSE(linear)
285 OPENMP_SIMD_CLAUSE(aligned)
286 OPENMP_SIMD_CLAUSE(safelen)
287 OPENMP_SIMD_CLAUSE(simdlen)
288 OPENMP_SIMD_CLAUSE(collapse)
289 OPENMP_SIMD_CLAUSE(reduction)
290
291 // Clauses allowed for directive 'omp for'.
292 OPENMP_FOR_CLAUSE(private)
293 OPENMP_FOR_CLAUSE(lastprivate)
294 OPENMP_FOR_CLAUSE(firstprivate)
295 OPENMP_FOR_CLAUSE(reduction)
296 OPENMP_FOR_CLAUSE(collapse)
297 OPENMP_FOR_CLAUSE(schedule)
298 OPENMP_FOR_CLAUSE(ordered)
299 OPENMP_FOR_CLAUSE(nowait)
300 OPENMP_FOR_CLAUSE(linear)
301
302 // Clauses allowed for directive 'omp for simd'.
303 OPENMP_FOR_SIMD_CLAUSE(private)
304 OPENMP_FOR_SIMD_CLAUSE(firstprivate)
305 OPENMP_FOR_SIMD_CLAUSE(lastprivate)
306 OPENMP_FOR_SIMD_CLAUSE(reduction)
307 OPENMP_FOR_SIMD_CLAUSE(schedule)
308 OPENMP_FOR_SIMD_CLAUSE(collapse)
309 OPENMP_FOR_SIMD_CLAUSE(nowait)
310 OPENMP_FOR_SIMD_CLAUSE(safelen)
311 OPENMP_FOR_SIMD_CLAUSE(simdlen)
312 OPENMP_FOR_SIMD_CLAUSE(linear)
313 OPENMP_FOR_SIMD_CLAUSE(aligned)
314 OPENMP_FOR_SIMD_CLAUSE(ordered)
315
316 // Clauses allowed for OpenMP directive 'omp sections'.
317 OPENMP_SECTIONS_CLAUSE(private)
318 OPENMP_SECTIONS_CLAUSE(lastprivate)
319 OPENMP_SECTIONS_CLAUSE(firstprivate)
320 OPENMP_SECTIONS_CLAUSE(reduction)
321 OPENMP_SECTIONS_CLAUSE(nowait)
322
323 // Clauses allowed for directive 'omp single'.
324 OPENMP_SINGLE_CLAUSE(private)
325 OPENMP_SINGLE_CLAUSE(firstprivate)
326 OPENMP_SINGLE_CLAUSE(copyprivate)
327 OPENMP_SINGLE_CLAUSE(nowait)
328
329 // Clauses allowed for OpenMP directive 'cancel'.
330 OPENMP_CANCEL_CLAUSE(if)
331
332 // Static attributes for 'default' clause.
333 OPENMP_DEFAULT_KIND(none)
334 OPENMP_DEFAULT_KIND(shared)
335
336 // Static attributes for 'proc_bind' clause.
337 OPENMP_PROC_BIND_KIND(master)
338 OPENMP_PROC_BIND_KIND(close)
339 OPENMP_PROC_BIND_KIND(spread)
340
341 // Static attributes for 'schedule' clause.
342 OPENMP_SCHEDULE_KIND(static)
343 OPENMP_SCHEDULE_KIND(dynamic)
344 OPENMP_SCHEDULE_KIND(guided)
345 OPENMP_SCHEDULE_KIND(auto)
346 OPENMP_SCHEDULE_KIND(runtime)
347
348 // Modifiers for 'schedule' clause.
349 OPENMP_SCHEDULE_MODIFIER(monotonic)
350 OPENMP_SCHEDULE_MODIFIER(nonmonotonic)
351 OPENMP_SCHEDULE_MODIFIER(simd)
352
353 // Static attributes for 'defaultmap' clause.
354 OPENMP_DEFAULTMAP_KIND(scalar)
355
356 // Modifiers for 'defaultmap' clause.
357 OPENMP_DEFAULTMAP_MODIFIER(tofrom)
358
359 // Static attributes for 'depend' clause.
360 OPENMP_DEPEND_KIND(in)
361 OPENMP_DEPEND_KIND(out)
362 OPENMP_DEPEND_KIND(inout)
363 OPENMP_DEPEND_KIND(source)
364 OPENMP_DEPEND_KIND(sink)
365
366 // Modifiers for 'linear' clause.
367 OPENMP_LINEAR_KIND(val)
368 OPENMP_LINEAR_KIND(ref)
369 OPENMP_LINEAR_KIND(uval)
370
371 // Clauses allowed for OpenMP directive 'parallel for'.
372 OPENMP_PARALLEL_FOR_CLAUSE(if)
373 OPENMP_PARALLEL_FOR_CLAUSE(num_threads)
374 OPENMP_PARALLEL_FOR_CLAUSE(default)
375 OPENMP_PARALLEL_FOR_CLAUSE(proc_bind)
376 OPENMP_PARALLEL_FOR_CLAUSE(private)
377 OPENMP_PARALLEL_FOR_CLAUSE(firstprivate)
378 OPENMP_PARALLEL_FOR_CLAUSE(shared)
379 OPENMP_PARALLEL_FOR_CLAUSE(reduction)
380 OPENMP_PARALLEL_FOR_CLAUSE(copyin)
381 OPENMP_PARALLEL_FOR_CLAUSE(lastprivate)
382 OPENMP_PARALLEL_FOR_CLAUSE(collapse)
383 OPENMP_PARALLEL_FOR_CLAUSE(schedule)
384 OPENMP_PARALLEL_FOR_CLAUSE(ordered)
385 OPENMP_PARALLEL_FOR_CLAUSE(linear)
386
387 // Clauses allowed for OpenMP directive 'parallel for simd'.
388 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(if)
389 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
390 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(default)
391 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
392 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(private)
393 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
394 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(shared)
395 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(reduction)
396 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(copyin)
397 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
398 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(collapse)
399 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(schedule)
400 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(safelen)
401 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
402 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(linear)
403 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(aligned)
404 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(ordered)
405
406 // Clauses allowed for OpenMP directive 'parallel sections'.
407 OPENMP_PARALLEL_SECTIONS_CLAUSE(if)
408 OPENMP_PARALLEL_SECTIONS_CLAUSE(num_threads)
409 OPENMP_PARALLEL_SECTIONS_CLAUSE(default)
410 OPENMP_PARALLEL_SECTIONS_CLAUSE(proc_bind)
411 OPENMP_PARALLEL_SECTIONS_CLAUSE(private)
412 OPENMP_PARALLEL_SECTIONS_CLAUSE(firstprivate)
413 OPENMP_PARALLEL_SECTIONS_CLAUSE(shared)
414 OPENMP_PARALLEL_SECTIONS_CLAUSE(reduction)
415 OPENMP_PARALLEL_SECTIONS_CLAUSE(copyin)
416 OPENMP_PARALLEL_SECTIONS_CLAUSE(lastprivate)
417
418 // Clauses allowed for OpenMP directive 'task'.
419 OPENMP_TASK_CLAUSE(if)
420 OPENMP_TASK_CLAUSE(final)
421 OPENMP_TASK_CLAUSE(default)
422 OPENMP_TASK_CLAUSE(private)
423 OPENMP_TASK_CLAUSE(firstprivate)
424 OPENMP_TASK_CLAUSE(shared)
425 OPENMP_TASK_CLAUSE(untied)
426 OPENMP_TASK_CLAUSE(mergeable)
427 OPENMP_TASK_CLAUSE(depend)
428 OPENMP_TASK_CLAUSE(priority)
429
430 // Clauses allowed for OpenMP directive 'atomic'.
431 OPENMP_ATOMIC_CLAUSE(read)
432 OPENMP_ATOMIC_CLAUSE(write)
433 OPENMP_ATOMIC_CLAUSE(update)
434 OPENMP_ATOMIC_CLAUSE(capture)
435 OPENMP_ATOMIC_CLAUSE(seq_cst)
436
437 // Clauses allowed for OpenMP directive 'target'.
438 OPENMP_TARGET_CLAUSE(if)
439 OPENMP_TARGET_CLAUSE(device)
440 OPENMP_TARGET_CLAUSE(map)
441 OPENMP_TARGET_CLAUSE(private)
442 OPENMP_TARGET_CLAUSE(nowait)
443 OPENMP_TARGET_CLAUSE(depend)
444 OPENMP_TARGET_CLAUSE(defaultmap)
445 OPENMP_TARGET_CLAUSE(firstprivate)
446 OPENMP_TARGET_CLAUSE(is_device_ptr)
447
448 // Clauses allowed for OpenMP directive 'target data'.
449 // TODO More clauses for 'target data' directive.
450 OPENMP_TARGET_DATA_CLAUSE(if)
451 OPENMP_TARGET_DATA_CLAUSE(device)
452 OPENMP_TARGET_DATA_CLAUSE(map)
453 OPENMP_TARGET_DATA_CLAUSE(use_device_ptr)
454
455 // Clauses allowed for OpenMP directive 'target enter data'.
456 OPENMP_TARGET_ENTER_DATA_CLAUSE(if)
457 OPENMP_TARGET_ENTER_DATA_CLAUSE(device)
458 OPENMP_TARGET_ENTER_DATA_CLAUSE(map)
459 OPENMP_TARGET_ENTER_DATA_CLAUSE(nowait)
460 OPENMP_TARGET_ENTER_DATA_CLAUSE(depend)
461
462 // Clauses allowed for OpenMP directive 'target exit data'.
463 OPENMP_TARGET_EXIT_DATA_CLAUSE(if)
464 OPENMP_TARGET_EXIT_DATA_CLAUSE(device)
465 OPENMP_TARGET_EXIT_DATA_CLAUSE(map)
466 OPENMP_TARGET_EXIT_DATA_CLAUSE(nowait)
467 OPENMP_TARGET_EXIT_DATA_CLAUSE(depend)
468
469 // Clauses allowed for OpenMP directive 'target parallel'.
470 OPENMP_TARGET_PARALLEL_CLAUSE(if)
471 OPENMP_TARGET_PARALLEL_CLAUSE(device)
472 OPENMP_TARGET_PARALLEL_CLAUSE(map)
473 OPENMP_TARGET_PARALLEL_CLAUSE(private)
474 OPENMP_TARGET_PARALLEL_CLAUSE(firstprivate)
475 OPENMP_TARGET_PARALLEL_CLAUSE(nowait)
476 OPENMP_TARGET_PARALLEL_CLAUSE(depend)
477 OPENMP_TARGET_PARALLEL_CLAUSE(defaultmap)
478 OPENMP_TARGET_PARALLEL_CLAUSE(num_threads)
479 OPENMP_TARGET_PARALLEL_CLAUSE(default)
480 OPENMP_TARGET_PARALLEL_CLAUSE(proc_bind)
481 OPENMP_TARGET_PARALLEL_CLAUSE(shared)
482 OPENMP_TARGET_PARALLEL_CLAUSE(reduction)
483 OPENMP_TARGET_PARALLEL_CLAUSE(is_device_ptr)
484
485 // Clauses allowed for OpenMP directive 'target parallel for'.
486 // TODO: add target clauses 'is_device_ptr'
487 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(if)
488 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(device)
489 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(map)
490 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(private)
491 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(firstprivate)
492 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(lastprivate)
493 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(nowait)
494 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(depend)
495 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(defaultmap)
496 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(num_threads)
497 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(default)
498 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(proc_bind)
499 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(shared)
500 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(reduction)
501 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(collapse)
502 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(schedule)
503 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(ordered)
504 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(linear)
505
506 // Clauses allowed for OpenMP directive 'target update'.
507 // TODO More clauses for 'target update' directive.
508 OPENMP_TARGET_UPDATE_CLAUSE(if)
509 OPENMP_TARGET_UPDATE_CLAUSE(device)
510 OPENMP_TARGET_UPDATE_CLAUSE(to)
511 OPENMP_TARGET_UPDATE_CLAUSE(from)
512 OPENMP_TARGET_UPDATE_CLAUSE(nowait)
513 OPENMP_TARGET_UPDATE_CLAUSE(depend)
514
515 // Clauses allowed for OpenMP directive 'teams'.
516 // TODO More clauses for 'teams' directive.
517 OPENMP_TEAMS_CLAUSE(default)
518 OPENMP_TEAMS_CLAUSE(private)
519 OPENMP_TEAMS_CLAUSE(firstprivate)
520 OPENMP_TEAMS_CLAUSE(shared)
521 OPENMP_TEAMS_CLAUSE(reduction)
522 OPENMP_TEAMS_CLAUSE(num_teams)
523 OPENMP_TEAMS_CLAUSE(thread_limit)
524
525 // Clauses allowed for OpenMP directive 'ordered'.
526 // TODO More clauses for 'ordered' directive.
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 // TODO: add target clauses 'is_device_ptr'
637 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(if)
638 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(device)
639 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(map)
640 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(private)
641 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
642 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(lastprivate)
643 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(nowait)
644 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(depend)
645 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(defaultmap)
646 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(num_threads)
647 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(default)
648 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(proc_bind)
649 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(shared)
650 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(reduction)
651 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(collapse)
652 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(schedule)
653 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(ordered)
654 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(linear)
655 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(safelen)
656 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(simdlen)
657 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(aligned)
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 #undef OPENMP_TASKLOOP_SIMD_CLAUSE
828 #undef OPENMP_TASKLOOP_CLAUSE
829 #undef OPENMP_LINEAR_KIND
830 #undef OPENMP_DEPEND_KIND
831 #undef OPENMP_SCHEDULE_MODIFIER
832 #undef OPENMP_SCHEDULE_KIND
833 #undef OPENMP_PROC_BIND_KIND
834 #undef OPENMP_DEFAULT_KIND
835 #undef OPENMP_DIRECTIVE
836 #undef OPENMP_DIRECTIVE_EXT
837 #undef OPENMP_CLAUSE
838 #undef OPENMP_CRITICAL_CLAUSE
839 #undef OPENMP_ORDERED_CLAUSE
840 #undef OPENMP_CANCEL_CLAUSE
841 #undef OPENMP_SINGLE_CLAUSE
842 #undef OPENMP_SECTIONS_CLAUSE
843 #undef OPENMP_PARALLEL_CLAUSE
844 #undef OPENMP_PARALLEL_FOR_CLAUSE
845 #undef OPENMP_PARALLEL_FOR_SIMD_CLAUSE
846 #undef OPENMP_PARALLEL_SECTIONS_CLAUSE
847 #undef OPENMP_TASK_CLAUSE
848 #undef OPENMP_ATOMIC_CLAUSE
849 #undef OPENMP_TARGET_CLAUSE
850 #undef OPENMP_TARGET_DATA_CLAUSE
851 #undef OPENMP_TARGET_ENTER_DATA_CLAUSE
852 #undef OPENMP_TARGET_EXIT_DATA_CLAUSE
853 #undef OPENMP_TARGET_PARALLEL_CLAUSE
854 #undef OPENMP_TARGET_PARALLEL_FOR_CLAUSE
855 #undef OPENMP_TEAMS_CLAUSE
856 #undef OPENMP_SIMD_CLAUSE
857 #undef OPENMP_FOR_CLAUSE
858 #undef OPENMP_FOR_SIMD_CLAUSE
859 #undef OPENMP_MAP_KIND
860 #undef OPENMP_DISTRIBUTE_CLAUSE
861 #undef OPENMP_DIST_SCHEDULE_KIND
862 #undef OPENMP_DEFAULTMAP_KIND
863 #undef OPENMP_DEFAULTMAP_MODIFIER
864 #undef OPENMP_TARGET_UPDATE_CLAUSE
865 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE
866 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
867 #undef OPENMP_DISTRIBUTE_SIMD_CLAUSE
868 #undef OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE
869 #undef OPENMP_TARGET_SIMD_CLAUSE
870 #undef OPENMP_TEAMS_DISTRIBUTE_CLAUSE
871 #undef OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE
872 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE
873 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
874 #undef OPENMP_TARGET_TEAMS_CLAUSE
875 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE
876 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE
877 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE