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