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