1#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2#undef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
3
4namespace llvm::omp {
5
6// Sets for allocate
7
8static OmpClauseSet allowedClauses_OMPD_allocate {
9};
10
11static OmpClauseSet allowedOnceClauses_OMPD_allocate {
12 Clause::OMPC_align,
13 Clause::OMPC_allocator,
14};
15
16static OmpClauseSet allowedExclusiveClauses_OMPD_allocate {
17};
18
19static OmpClauseSet requiredClauses_OMPD_allocate {
20};
21// Sets for allocators
22
23static OmpClauseSet allowedClauses_OMPD_allocators {
24 Clause::OMPC_allocate,
25};
26
27static OmpClauseSet allowedOnceClauses_OMPD_allocators {
28};
29
30static OmpClauseSet allowedExclusiveClauses_OMPD_allocators {
31};
32
33static OmpClauseSet requiredClauses_OMPD_allocators {
34};
35// Sets for assume
36
37static OmpClauseSet allowedClauses_OMPD_assume {
38};
39
40static OmpClauseSet allowedOnceClauses_OMPD_assume {
41 Clause::OMPC_absent,
42 Clause::OMPC_contains,
43 Clause::OMPC_holds,
44 Clause::OMPC_no_openmp,
45 Clause::OMPC_no_openmp_constructs,
46 Clause::OMPC_no_openmp_routines,
47 Clause::OMPC_no_parallelism,
48};
49
50static OmpClauseSet allowedExclusiveClauses_OMPD_assume {
51};
52
53static OmpClauseSet requiredClauses_OMPD_assume {
54};
55// Sets for assumes
56
57static OmpClauseSet allowedClauses_OMPD_assumes {
58};
59
60static OmpClauseSet allowedOnceClauses_OMPD_assumes {
61 Clause::OMPC_absent,
62 Clause::OMPC_contains,
63 Clause::OMPC_holds,
64 Clause::OMPC_no_openmp,
65 Clause::OMPC_no_openmp_routines,
66 Clause::OMPC_no_parallelism,
67};
68
69static OmpClauseSet allowedExclusiveClauses_OMPD_assumes {
70};
71
72static OmpClauseSet requiredClauses_OMPD_assumes {
73};
74// Sets for atomic
75
76static OmpClauseSet allowedClauses_OMPD_atomic {
77};
78
79static OmpClauseSet allowedOnceClauses_OMPD_atomic {
80 Clause::OMPC_acq_rel,
81 Clause::OMPC_acquire,
82 Clause::OMPC_capture,
83 Clause::OMPC_compare,
84 Clause::OMPC_fail,
85 Clause::OMPC_hint,
86 Clause::OMPC_read,
87 Clause::OMPC_relaxed,
88 Clause::OMPC_release,
89 Clause::OMPC_seq_cst,
90 Clause::OMPC_update,
91 Clause::OMPC_weak,
92 Clause::OMPC_write,
93};
94
95static OmpClauseSet allowedExclusiveClauses_OMPD_atomic {
96};
97
98static OmpClauseSet requiredClauses_OMPD_atomic {
99};
100// Sets for barrier
101
102static OmpClauseSet allowedClauses_OMPD_barrier {
103};
104
105static OmpClauseSet allowedOnceClauses_OMPD_barrier {
106};
107
108static OmpClauseSet allowedExclusiveClauses_OMPD_barrier {
109};
110
111static OmpClauseSet requiredClauses_OMPD_barrier {
112};
113// Sets for begin assumes
114
115static OmpClauseSet allowedClauses_OMPD_begin_assumes {
116};
117
118static OmpClauseSet allowedOnceClauses_OMPD_begin_assumes {
119 Clause::OMPC_absent,
120 Clause::OMPC_contains,
121 Clause::OMPC_holds,
122 Clause::OMPC_no_openmp,
123 Clause::OMPC_no_openmp_routines,
124 Clause::OMPC_no_parallelism,
125};
126
127static OmpClauseSet allowedExclusiveClauses_OMPD_begin_assumes {
128};
129
130static OmpClauseSet requiredClauses_OMPD_begin_assumes {
131};
132// Sets for begin declare target
133
134static OmpClauseSet allowedClauses_OMPD_begin_declare_target {
135 Clause::OMPC_link,
136 Clause::OMPC_to,
137};
138
139static OmpClauseSet allowedOnceClauses_OMPD_begin_declare_target {
140 Clause::OMPC_device_type,
141 Clause::OMPC_indirect,
142};
143
144static OmpClauseSet allowedExclusiveClauses_OMPD_begin_declare_target {
145};
146
147static OmpClauseSet requiredClauses_OMPD_begin_declare_target {
148};
149// Sets for begin declare variant
150
151static OmpClauseSet allowedClauses_OMPD_begin_declare_variant {
152};
153
154static OmpClauseSet allowedOnceClauses_OMPD_begin_declare_variant {
155};
156
157static OmpClauseSet allowedExclusiveClauses_OMPD_begin_declare_variant {
158};
159
160static OmpClauseSet requiredClauses_OMPD_begin_declare_variant {
161};
162// Sets for cancel
163
164static OmpClauseSet allowedClauses_OMPD_cancel {
165 Clause::OMPC_if,
166};
167
168static OmpClauseSet allowedOnceClauses_OMPD_cancel {
169 Clause::OMPC_cancellation_construct_type,
170};
171
172static OmpClauseSet allowedExclusiveClauses_OMPD_cancel {
173};
174
175static OmpClauseSet requiredClauses_OMPD_cancel {
176};
177// Sets for cancellation point
178
179static OmpClauseSet allowedClauses_OMPD_cancellation_point {
180};
181
182static OmpClauseSet allowedOnceClauses_OMPD_cancellation_point {
183 Clause::OMPC_cancellation_construct_type,
184};
185
186static OmpClauseSet allowedExclusiveClauses_OMPD_cancellation_point {
187};
188
189static OmpClauseSet requiredClauses_OMPD_cancellation_point {
190};
191// Sets for critical
192
193static OmpClauseSet allowedClauses_OMPD_critical {
194};
195
196static OmpClauseSet allowedOnceClauses_OMPD_critical {
197 Clause::OMPC_hint,
198};
199
200static OmpClauseSet allowedExclusiveClauses_OMPD_critical {
201};
202
203static OmpClauseSet requiredClauses_OMPD_critical {
204};
205// Sets for declare_induction
206
207static OmpClauseSet allowedClauses_OMPD_declare_induction {
208};
209
210static OmpClauseSet allowedOnceClauses_OMPD_declare_induction {
211 Clause::OMPC_collector,
212 Clause::OMPC_inductor,
213};
214
215static OmpClauseSet allowedExclusiveClauses_OMPD_declare_induction {
216};
217
218static OmpClauseSet requiredClauses_OMPD_declare_induction {
219};
220// Sets for declare mapper
221
222static OmpClauseSet allowedClauses_OMPD_declare_mapper {
223};
224
225static OmpClauseSet allowedOnceClauses_OMPD_declare_mapper {
226};
227
228static OmpClauseSet allowedExclusiveClauses_OMPD_declare_mapper {
229};
230
231static OmpClauseSet requiredClauses_OMPD_declare_mapper {
232 Clause::OMPC_map,
233};
234// Sets for declare reduction
235
236static OmpClauseSet allowedClauses_OMPD_declare_reduction {
237};
238
239static OmpClauseSet allowedOnceClauses_OMPD_declare_reduction {
240 Clause::OMPC_combiner,
241 Clause::OMPC_initializer,
242};
243
244static OmpClauseSet allowedExclusiveClauses_OMPD_declare_reduction {
245};
246
247static OmpClauseSet requiredClauses_OMPD_declare_reduction {
248};
249// Sets for declare simd
250
251static OmpClauseSet allowedClauses_OMPD_declare_simd {
252 Clause::OMPC_aligned,
253 Clause::OMPC_linear,
254 Clause::OMPC_uniform,
255};
256
257static OmpClauseSet allowedOnceClauses_OMPD_declare_simd {
258 Clause::OMPC_simdlen,
259};
260
261static OmpClauseSet allowedExclusiveClauses_OMPD_declare_simd {
262 Clause::OMPC_inbranch,
263 Clause::OMPC_notinbranch,
264};
265
266static OmpClauseSet requiredClauses_OMPD_declare_simd {
267};
268// Sets for declare target
269
270static OmpClauseSet allowedClauses_OMPD_declare_target {
271 Clause::OMPC_enter,
272 Clause::OMPC_link,
273 Clause::OMPC_local,
274 Clause::OMPC_to,
275};
276
277static OmpClauseSet allowedOnceClauses_OMPD_declare_target {
278 Clause::OMPC_device_type,
279 Clause::OMPC_indirect,
280};
281
282static OmpClauseSet allowedExclusiveClauses_OMPD_declare_target {
283};
284
285static OmpClauseSet requiredClauses_OMPD_declare_target {
286};
287// Sets for declare variant
288
289static OmpClauseSet allowedClauses_OMPD_declare_variant {
290 Clause::OMPC_adjust_args,
291};
292
293static OmpClauseSet allowedOnceClauses_OMPD_declare_variant {
294 Clause::OMPC_append_args,
295 Clause::OMPC_match,
296};
297
298static OmpClauseSet allowedExclusiveClauses_OMPD_declare_variant {
299};
300
301static OmpClauseSet requiredClauses_OMPD_declare_variant {
302};
303// Sets for depobj
304
305static OmpClauseSet allowedClauses_OMPD_depobj {
306 Clause::OMPC_depend,
307 Clause::OMPC_depobj,
308 Clause::OMPC_destroy,
309 Clause::OMPC_init,
310};
311
312static OmpClauseSet allowedOnceClauses_OMPD_depobj {
313 Clause::OMPC_update,
314};
315
316static OmpClauseSet allowedExclusiveClauses_OMPD_depobj {
317};
318
319static OmpClauseSet requiredClauses_OMPD_depobj {
320};
321// Sets for distribute
322
323static OmpClauseSet allowedClauses_OMPD_distribute {
324 Clause::OMPC_allocate,
325 Clause::OMPC_firstprivate,
326 Clause::OMPC_lastprivate,
327 Clause::OMPC_private,
328};
329
330static OmpClauseSet allowedOnceClauses_OMPD_distribute {
331 Clause::OMPC_collapse,
332 Clause::OMPC_dist_schedule,
333 Clause::OMPC_order,
334};
335
336static OmpClauseSet allowedExclusiveClauses_OMPD_distribute {
337};
338
339static OmpClauseSet requiredClauses_OMPD_distribute {
340};
341// Sets for distribute parallel do
342
343static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do {
344 Clause::OMPC_allocate,
345 Clause::OMPC_copyin,
346 Clause::OMPC_firstprivate,
347 Clause::OMPC_if,
348 Clause::OMPC_lastprivate,
349 Clause::OMPC_linear,
350 Clause::OMPC_private,
351 Clause::OMPC_reduction,
352 Clause::OMPC_shared,
353};
354
355static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do {
356 Clause::OMPC_collapse,
357 Clause::OMPC_default,
358 Clause::OMPC_dist_schedule,
359 Clause::OMPC_message,
360 Clause::OMPC_num_threads,
361 Clause::OMPC_order,
362 Clause::OMPC_proc_bind,
363 Clause::OMPC_schedule,
364 Clause::OMPC_severity,
365};
366
367static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do {
368};
369
370static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do {
371};
372// Sets for distribute parallel do simd
373
374static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do_simd {
375 Clause::OMPC_aligned,
376 Clause::OMPC_allocate,
377 Clause::OMPC_copyin,
378 Clause::OMPC_firstprivate,
379 Clause::OMPC_if,
380 Clause::OMPC_lastprivate,
381 Clause::OMPC_linear,
382 Clause::OMPC_nontemporal,
383 Clause::OMPC_private,
384 Clause::OMPC_reduction,
385 Clause::OMPC_shared,
386};
387
388static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do_simd {
389 Clause::OMPC_collapse,
390 Clause::OMPC_default,
391 Clause::OMPC_dist_schedule,
392 Clause::OMPC_message,
393 Clause::OMPC_num_threads,
394 Clause::OMPC_order,
395 Clause::OMPC_proc_bind,
396 Clause::OMPC_safelen,
397 Clause::OMPC_schedule,
398 Clause::OMPC_severity,
399 Clause::OMPC_simdlen,
400};
401
402static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do_simd {
403};
404
405static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do_simd {
406};
407// Sets for distribute parallel for
408
409static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for {
410 Clause::OMPC_allocate,
411 Clause::OMPC_copyin,
412 Clause::OMPC_firstprivate,
413 Clause::OMPC_if,
414 Clause::OMPC_lastprivate,
415 Clause::OMPC_ompx_attribute,
416 Clause::OMPC_private,
417 Clause::OMPC_reduction,
418 Clause::OMPC_shared,
419};
420
421static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for {
422 Clause::OMPC_collapse,
423 Clause::OMPC_default,
424 Clause::OMPC_dist_schedule,
425 Clause::OMPC_message,
426 Clause::OMPC_num_threads,
427 Clause::OMPC_order,
428 Clause::OMPC_proc_bind,
429 Clause::OMPC_schedule,
430 Clause::OMPC_severity,
431};
432
433static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for {
434};
435
436static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for {
437};
438// Sets for distribute parallel for simd
439
440static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for_simd {
441 Clause::OMPC_aligned,
442 Clause::OMPC_allocate,
443 Clause::OMPC_copyin,
444 Clause::OMPC_firstprivate,
445 Clause::OMPC_if,
446 Clause::OMPC_lastprivate,
447 Clause::OMPC_linear,
448 Clause::OMPC_nontemporal,
449 Clause::OMPC_ompx_attribute,
450 Clause::OMPC_private,
451 Clause::OMPC_reduction,
452 Clause::OMPC_shared,
453};
454
455static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for_simd {
456 Clause::OMPC_collapse,
457 Clause::OMPC_default,
458 Clause::OMPC_dist_schedule,
459 Clause::OMPC_message,
460 Clause::OMPC_num_threads,
461 Clause::OMPC_order,
462 Clause::OMPC_proc_bind,
463 Clause::OMPC_safelen,
464 Clause::OMPC_schedule,
465 Clause::OMPC_severity,
466 Clause::OMPC_simdlen,
467};
468
469static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for_simd {
470};
471
472static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for_simd {
473};
474// Sets for distribute simd
475
476static OmpClauseSet allowedClauses_OMPD_distribute_simd {
477 Clause::OMPC_aligned,
478 Clause::OMPC_allocate,
479 Clause::OMPC_copyin,
480 Clause::OMPC_firstprivate,
481 Clause::OMPC_if,
482 Clause::OMPC_lastprivate,
483 Clause::OMPC_linear,
484 Clause::OMPC_nontemporal,
485 Clause::OMPC_private,
486 Clause::OMPC_reduction,
487};
488
489static OmpClauseSet allowedOnceClauses_OMPD_distribute_simd {
490 Clause::OMPC_collapse,
491 Clause::OMPC_default,
492 Clause::OMPC_dist_schedule,
493 Clause::OMPC_message,
494 Clause::OMPC_num_threads,
495 Clause::OMPC_order,
496 Clause::OMPC_proc_bind,
497 Clause::OMPC_safelen,
498 Clause::OMPC_schedule,
499 Clause::OMPC_severity,
500 Clause::OMPC_simdlen,
501};
502
503static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_simd {
504};
505
506static OmpClauseSet requiredClauses_OMPD_distribute_simd {
507};
508// Sets for do
509
510static OmpClauseSet allowedClauses_OMPD_do {
511 Clause::OMPC_allocate,
512 Clause::OMPC_firstprivate,
513 Clause::OMPC_lastprivate,
514 Clause::OMPC_linear,
515 Clause::OMPC_private,
516 Clause::OMPC_reduction,
517};
518
519static OmpClauseSet allowedOnceClauses_OMPD_do {
520 Clause::OMPC_collapse,
521 Clause::OMPC_nowait,
522 Clause::OMPC_order,
523 Clause::OMPC_ordered,
524 Clause::OMPC_schedule,
525};
526
527static OmpClauseSet allowedExclusiveClauses_OMPD_do {
528};
529
530static OmpClauseSet requiredClauses_OMPD_do {
531};
532// Sets for do simd
533
534static OmpClauseSet allowedClauses_OMPD_do_simd {
535 Clause::OMPC_aligned,
536 Clause::OMPC_firstprivate,
537 Clause::OMPC_if,
538 Clause::OMPC_lastprivate,
539 Clause::OMPC_linear,
540 Clause::OMPC_private,
541 Clause::OMPC_reduction,
542};
543
544static OmpClauseSet allowedOnceClauses_OMPD_do_simd {
545 Clause::OMPC_collapse,
546 Clause::OMPC_nowait,
547 Clause::OMPC_order,
548 Clause::OMPC_ordered,
549 Clause::OMPC_safelen,
550 Clause::OMPC_schedule,
551 Clause::OMPC_simdlen,
552};
553
554static OmpClauseSet allowedExclusiveClauses_OMPD_do_simd {
555};
556
557static OmpClauseSet requiredClauses_OMPD_do_simd {
558};
559// Sets for end assumes
560
561static OmpClauseSet allowedClauses_OMPD_end_assumes {
562};
563
564static OmpClauseSet allowedOnceClauses_OMPD_end_assumes {
565};
566
567static OmpClauseSet allowedExclusiveClauses_OMPD_end_assumes {
568};
569
570static OmpClauseSet requiredClauses_OMPD_end_assumes {
571};
572// Sets for end declare target
573
574static OmpClauseSet allowedClauses_OMPD_end_declare_target {
575};
576
577static OmpClauseSet allowedOnceClauses_OMPD_end_declare_target {
578};
579
580static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_target {
581};
582
583static OmpClauseSet requiredClauses_OMPD_end_declare_target {
584};
585// Sets for end declare variant
586
587static OmpClauseSet allowedClauses_OMPD_end_declare_variant {
588};
589
590static OmpClauseSet allowedOnceClauses_OMPD_end_declare_variant {
591};
592
593static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_variant {
594};
595
596static OmpClauseSet requiredClauses_OMPD_end_declare_variant {
597};
598// Sets for error
599
600static OmpClauseSet allowedClauses_OMPD_error {
601};
602
603static OmpClauseSet allowedOnceClauses_OMPD_error {
604 Clause::OMPC_at,
605 Clause::OMPC_message,
606 Clause::OMPC_severity,
607};
608
609static OmpClauseSet allowedExclusiveClauses_OMPD_error {
610};
611
612static OmpClauseSet requiredClauses_OMPD_error {
613};
614// Sets for flatten
615
616static OmpClauseSet allowedClauses_OMPD_flatten {
617 Clause::OMPC_apply,
618};
619
620static OmpClauseSet allowedOnceClauses_OMPD_flatten {
621 Clause::OMPC_depth,
622};
623
624static OmpClauseSet allowedExclusiveClauses_OMPD_flatten {
625};
626
627static OmpClauseSet requiredClauses_OMPD_flatten {
628};
629// Sets for flush
630
631static OmpClauseSet allowedClauses_OMPD_flush {
632};
633
634static OmpClauseSet allowedOnceClauses_OMPD_flush {
635 Clause::OMPC_acq_rel,
636 Clause::OMPC_acquire,
637 Clause::OMPC_flush,
638 Clause::OMPC_release,
639 Clause::OMPC_seq_cst,
640};
641
642static OmpClauseSet allowedExclusiveClauses_OMPD_flush {
643};
644
645static OmpClauseSet requiredClauses_OMPD_flush {
646};
647// Sets for for
648
649static OmpClauseSet allowedClauses_OMPD_for {
650 Clause::OMPC_allocate,
651 Clause::OMPC_firstprivate,
652 Clause::OMPC_lastprivate,
653 Clause::OMPC_linear,
654 Clause::OMPC_private,
655 Clause::OMPC_reduction,
656};
657
658static OmpClauseSet allowedOnceClauses_OMPD_for {
659 Clause::OMPC_collapse,
660 Clause::OMPC_nowait,
661 Clause::OMPC_order,
662 Clause::OMPC_ordered,
663 Clause::OMPC_schedule,
664};
665
666static OmpClauseSet allowedExclusiveClauses_OMPD_for {
667};
668
669static OmpClauseSet requiredClauses_OMPD_for {
670};
671// Sets for for simd
672
673static OmpClauseSet allowedClauses_OMPD_for_simd {
674 Clause::OMPC_aligned,
675 Clause::OMPC_allocate,
676 Clause::OMPC_firstprivate,
677 Clause::OMPC_if,
678 Clause::OMPC_lastprivate,
679 Clause::OMPC_linear,
680 Clause::OMPC_nontemporal,
681 Clause::OMPC_private,
682 Clause::OMPC_reduction,
683};
684
685static OmpClauseSet allowedOnceClauses_OMPD_for_simd {
686 Clause::OMPC_collapse,
687 Clause::OMPC_nowait,
688 Clause::OMPC_order,
689 Clause::OMPC_ordered,
690 Clause::OMPC_safelen,
691 Clause::OMPC_schedule,
692 Clause::OMPC_simdlen,
693};
694
695static OmpClauseSet allowedExclusiveClauses_OMPD_for_simd {
696};
697
698static OmpClauseSet requiredClauses_OMPD_for_simd {
699};
700// Sets for fuse
701
702static OmpClauseSet allowedClauses_OMPD_fuse {
703};
704
705static OmpClauseSet allowedOnceClauses_OMPD_fuse {
706 Clause::OMPC_depth,
707 Clause::OMPC_looprange,
708};
709
710static OmpClauseSet allowedExclusiveClauses_OMPD_fuse {
711};
712
713static OmpClauseSet requiredClauses_OMPD_fuse {
714};
715// Sets for groupprivate
716
717static OmpClauseSet allowedClauses_OMPD_groupprivate {
718};
719
720static OmpClauseSet allowedOnceClauses_OMPD_groupprivate {
721 Clause::OMPC_device_type,
722};
723
724static OmpClauseSet allowedExclusiveClauses_OMPD_groupprivate {
725};
726
727static OmpClauseSet requiredClauses_OMPD_groupprivate {
728};
729// Sets for interchange
730
731static OmpClauseSet allowedClauses_OMPD_interchange {
732};
733
734static OmpClauseSet allowedOnceClauses_OMPD_interchange {
735 Clause::OMPC_permutation,
736};
737
738static OmpClauseSet allowedExclusiveClauses_OMPD_interchange {
739};
740
741static OmpClauseSet requiredClauses_OMPD_interchange {
742};
743// Sets for masked taskloop
744
745static OmpClauseSet allowedClauses_OMPD_masked_taskloop {
746 Clause::OMPC_allocate,
747 Clause::OMPC_firstprivate,
748 Clause::OMPC_if,
749 Clause::OMPC_in_reduction,
750 Clause::OMPC_lastprivate,
751 Clause::OMPC_private,
752 Clause::OMPC_reduction,
753 Clause::OMPC_shared,
754};
755
756static OmpClauseSet allowedOnceClauses_OMPD_masked_taskloop {
757 Clause::OMPC_collapse,
758 Clause::OMPC_default,
759 Clause::OMPC_filter,
760 Clause::OMPC_final,
761 Clause::OMPC_grainsize,
762 Clause::OMPC_mergeable,
763 Clause::OMPC_nogroup,
764 Clause::OMPC_num_tasks,
765 Clause::OMPC_priority,
766 Clause::OMPC_untied,
767};
768
769static OmpClauseSet allowedExclusiveClauses_OMPD_masked_taskloop {
770};
771
772static OmpClauseSet requiredClauses_OMPD_masked_taskloop {
773};
774// Sets for masked taskloop simd
775
776static OmpClauseSet allowedClauses_OMPD_masked_taskloop_simd {
777 Clause::OMPC_aligned,
778 Clause::OMPC_allocate,
779 Clause::OMPC_firstprivate,
780 Clause::OMPC_if,
781 Clause::OMPC_in_reduction,
782 Clause::OMPC_lastprivate,
783 Clause::OMPC_linear,
784 Clause::OMPC_nontemporal,
785 Clause::OMPC_private,
786 Clause::OMPC_reduction,
787 Clause::OMPC_shared,
788};
789
790static OmpClauseSet allowedOnceClauses_OMPD_masked_taskloop_simd {
791 Clause::OMPC_collapse,
792 Clause::OMPC_default,
793 Clause::OMPC_filter,
794 Clause::OMPC_final,
795 Clause::OMPC_grainsize,
796 Clause::OMPC_mergeable,
797 Clause::OMPC_nogroup,
798 Clause::OMPC_num_tasks,
799 Clause::OMPC_order,
800 Clause::OMPC_priority,
801 Clause::OMPC_safelen,
802 Clause::OMPC_simdlen,
803 Clause::OMPC_untied,
804};
805
806static OmpClauseSet allowedExclusiveClauses_OMPD_masked_taskloop_simd {
807};
808
809static OmpClauseSet requiredClauses_OMPD_masked_taskloop_simd {
810};
811// Sets for master
812
813static OmpClauseSet allowedClauses_OMPD_master {
814};
815
816static OmpClauseSet allowedOnceClauses_OMPD_master {
817};
818
819static OmpClauseSet allowedExclusiveClauses_OMPD_master {
820};
821
822static OmpClauseSet requiredClauses_OMPD_master {
823};
824// Sets for master taskloop
825
826static OmpClauseSet allowedClauses_OMPD_master_taskloop {
827 Clause::OMPC_allocate,
828 Clause::OMPC_firstprivate,
829 Clause::OMPC_if,
830 Clause::OMPC_in_reduction,
831 Clause::OMPC_lastprivate,
832 Clause::OMPC_private,
833 Clause::OMPC_reduction,
834 Clause::OMPC_shared,
835};
836
837static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop {
838 Clause::OMPC_collapse,
839 Clause::OMPC_default,
840 Clause::OMPC_final,
841 Clause::OMPC_grainsize,
842 Clause::OMPC_mergeable,
843 Clause::OMPC_nogroup,
844 Clause::OMPC_num_tasks,
845 Clause::OMPC_priority,
846 Clause::OMPC_untied,
847};
848
849static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop {
850};
851
852static OmpClauseSet requiredClauses_OMPD_master_taskloop {
853};
854// Sets for master taskloop simd
855
856static OmpClauseSet allowedClauses_OMPD_master_taskloop_simd {
857 Clause::OMPC_aligned,
858 Clause::OMPC_allocate,
859 Clause::OMPC_firstprivate,
860 Clause::OMPC_if,
861 Clause::OMPC_in_reduction,
862 Clause::OMPC_lastprivate,
863 Clause::OMPC_linear,
864 Clause::OMPC_nontemporal,
865 Clause::OMPC_private,
866 Clause::OMPC_reduction,
867 Clause::OMPC_shared,
868};
869
870static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop_simd {
871 Clause::OMPC_collapse,
872 Clause::OMPC_default,
873 Clause::OMPC_final,
874 Clause::OMPC_grainsize,
875 Clause::OMPC_mergeable,
876 Clause::OMPC_nogroup,
877 Clause::OMPC_num_tasks,
878 Clause::OMPC_order,
879 Clause::OMPC_priority,
880 Clause::OMPC_safelen,
881 Clause::OMPC_simdlen,
882 Clause::OMPC_untied,
883};
884
885static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop_simd {
886};
887
888static OmpClauseSet requiredClauses_OMPD_master_taskloop_simd {
889};
890// Sets for metadirective
891
892static OmpClauseSet allowedClauses_OMPD_metadirective {
893 Clause::OMPC_when,
894};
895
896static OmpClauseSet allowedOnceClauses_OMPD_metadirective {
897 Clause::OMPC_default,
898 Clause::OMPC_otherwise,
899};
900
901static OmpClauseSet allowedExclusiveClauses_OMPD_metadirective {
902};
903
904static OmpClauseSet requiredClauses_OMPD_metadirective {
905};
906// Sets for nothing
907
908static OmpClauseSet allowedClauses_OMPD_nothing {
909};
910
911static OmpClauseSet allowedOnceClauses_OMPD_nothing {
912};
913
914static OmpClauseSet allowedExclusiveClauses_OMPD_nothing {
915};
916
917static OmpClauseSet requiredClauses_OMPD_nothing {
918};
919// Sets for ordered
920
921static OmpClauseSet allowedClauses_OMPD_ordered {
922 Clause::OMPC_depend,
923 Clause::OMPC_doacross,
924};
925
926static OmpClauseSet allowedOnceClauses_OMPD_ordered {
927 Clause::OMPC_simd,
928 Clause::OMPC_threads,
929};
930
931static OmpClauseSet allowedExclusiveClauses_OMPD_ordered {
932};
933
934static OmpClauseSet requiredClauses_OMPD_ordered {
935};
936// Sets for parallel
937
938static OmpClauseSet allowedClauses_OMPD_parallel {
939 Clause::OMPC_allocate,
940 Clause::OMPC_copyin,
941 Clause::OMPC_firstprivate,
942 Clause::OMPC_if,
943 Clause::OMPC_ompx_attribute,
944 Clause::OMPC_private,
945 Clause::OMPC_reduction,
946 Clause::OMPC_shared,
947};
948
949static OmpClauseSet allowedOnceClauses_OMPD_parallel {
950 Clause::OMPC_default,
951 Clause::OMPC_message,
952 Clause::OMPC_num_threads,
953 Clause::OMPC_proc_bind,
954 Clause::OMPC_severity,
955};
956
957static OmpClauseSet allowedExclusiveClauses_OMPD_parallel {
958};
959
960static OmpClauseSet requiredClauses_OMPD_parallel {
961};
962// Sets for parallel do
963
964static OmpClauseSet allowedClauses_OMPD_parallel_do {
965 Clause::OMPC_allocate,
966 Clause::OMPC_copyin,
967 Clause::OMPC_firstprivate,
968 Clause::OMPC_if,
969 Clause::OMPC_lastprivate,
970 Clause::OMPC_linear,
971 Clause::OMPC_private,
972 Clause::OMPC_reduction,
973 Clause::OMPC_shared,
974};
975
976static OmpClauseSet allowedOnceClauses_OMPD_parallel_do {
977 Clause::OMPC_collapse,
978 Clause::OMPC_default,
979 Clause::OMPC_message,
980 Clause::OMPC_num_threads,
981 Clause::OMPC_order,
982 Clause::OMPC_ordered,
983 Clause::OMPC_proc_bind,
984 Clause::OMPC_schedule,
985 Clause::OMPC_severity,
986};
987
988static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do {
989};
990
991static OmpClauseSet requiredClauses_OMPD_parallel_do {
992};
993// Sets for parallel do simd
994
995static OmpClauseSet allowedClauses_OMPD_parallel_do_simd {
996 Clause::OMPC_aligned,
997 Clause::OMPC_allocate,
998 Clause::OMPC_copyin,
999 Clause::OMPC_firstprivate,
1000 Clause::OMPC_if,
1001 Clause::OMPC_lastprivate,
1002 Clause::OMPC_linear,
1003 Clause::OMPC_nontemporal,
1004 Clause::OMPC_private,
1005 Clause::OMPC_reduction,
1006 Clause::OMPC_shared,
1007};
1008
1009static OmpClauseSet allowedOnceClauses_OMPD_parallel_do_simd {
1010 Clause::OMPC_collapse,
1011 Clause::OMPC_default,
1012 Clause::OMPC_message,
1013 Clause::OMPC_num_threads,
1014 Clause::OMPC_order,
1015 Clause::OMPC_ordered,
1016 Clause::OMPC_proc_bind,
1017 Clause::OMPC_safelen,
1018 Clause::OMPC_schedule,
1019 Clause::OMPC_severity,
1020 Clause::OMPC_simdlen,
1021};
1022
1023static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do_simd {
1024};
1025
1026static OmpClauseSet requiredClauses_OMPD_parallel_do_simd {
1027};
1028// Sets for parallel for
1029
1030static OmpClauseSet allowedClauses_OMPD_parallel_for {
1031 Clause::OMPC_allocate,
1032 Clause::OMPC_copyin,
1033 Clause::OMPC_firstprivate,
1034 Clause::OMPC_if,
1035 Clause::OMPC_lastprivate,
1036 Clause::OMPC_linear,
1037 Clause::OMPC_ompx_attribute,
1038 Clause::OMPC_private,
1039 Clause::OMPC_reduction,
1040 Clause::OMPC_shared,
1041};
1042
1043static OmpClauseSet allowedOnceClauses_OMPD_parallel_for {
1044 Clause::OMPC_collapse,
1045 Clause::OMPC_default,
1046 Clause::OMPC_message,
1047 Clause::OMPC_num_threads,
1048 Clause::OMPC_order,
1049 Clause::OMPC_ordered,
1050 Clause::OMPC_proc_bind,
1051 Clause::OMPC_schedule,
1052 Clause::OMPC_severity,
1053};
1054
1055static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for {
1056};
1057
1058static OmpClauseSet requiredClauses_OMPD_parallel_for {
1059};
1060// Sets for parallel for simd
1061
1062static OmpClauseSet allowedClauses_OMPD_parallel_for_simd {
1063 Clause::OMPC_aligned,
1064 Clause::OMPC_allocate,
1065 Clause::OMPC_copyin,
1066 Clause::OMPC_firstprivate,
1067 Clause::OMPC_if,
1068 Clause::OMPC_lastprivate,
1069 Clause::OMPC_linear,
1070 Clause::OMPC_nontemporal,
1071 Clause::OMPC_ompx_attribute,
1072 Clause::OMPC_private,
1073 Clause::OMPC_reduction,
1074 Clause::OMPC_shared,
1075};
1076
1077static OmpClauseSet allowedOnceClauses_OMPD_parallel_for_simd {
1078 Clause::OMPC_collapse,
1079 Clause::OMPC_default,
1080 Clause::OMPC_message,
1081 Clause::OMPC_num_threads,
1082 Clause::OMPC_order,
1083 Clause::OMPC_ordered,
1084 Clause::OMPC_proc_bind,
1085 Clause::OMPC_safelen,
1086 Clause::OMPC_schedule,
1087 Clause::OMPC_severity,
1088 Clause::OMPC_simdlen,
1089};
1090
1091static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for_simd {
1092};
1093
1094static OmpClauseSet requiredClauses_OMPD_parallel_for_simd {
1095};
1096// Sets for parallel masked
1097
1098static OmpClauseSet allowedClauses_OMPD_parallel_masked {
1099 Clause::OMPC_allocate,
1100 Clause::OMPC_copyin,
1101 Clause::OMPC_firstprivate,
1102 Clause::OMPC_if,
1103 Clause::OMPC_ompx_attribute,
1104 Clause::OMPC_private,
1105 Clause::OMPC_reduction,
1106 Clause::OMPC_shared,
1107};
1108
1109static OmpClauseSet allowedOnceClauses_OMPD_parallel_masked {
1110 Clause::OMPC_default,
1111 Clause::OMPC_filter,
1112 Clause::OMPC_message,
1113 Clause::OMPC_num_threads,
1114 Clause::OMPC_proc_bind,
1115 Clause::OMPC_severity,
1116};
1117
1118static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_masked {
1119};
1120
1121static OmpClauseSet requiredClauses_OMPD_parallel_masked {
1122};
1123// Sets for parallel masked taskloop
1124
1125static OmpClauseSet allowedClauses_OMPD_parallel_masked_taskloop {
1126 Clause::OMPC_allocate,
1127 Clause::OMPC_copyin,
1128 Clause::OMPC_firstprivate,
1129 Clause::OMPC_if,
1130 Clause::OMPC_lastprivate,
1131 Clause::OMPC_ompx_attribute,
1132 Clause::OMPC_private,
1133 Clause::OMPC_reduction,
1134 Clause::OMPC_shared,
1135};
1136
1137static OmpClauseSet allowedOnceClauses_OMPD_parallel_masked_taskloop {
1138 Clause::OMPC_collapse,
1139 Clause::OMPC_default,
1140 Clause::OMPC_filter,
1141 Clause::OMPC_final,
1142 Clause::OMPC_grainsize,
1143 Clause::OMPC_mergeable,
1144 Clause::OMPC_message,
1145 Clause::OMPC_nogroup,
1146 Clause::OMPC_num_tasks,
1147 Clause::OMPC_num_threads,
1148 Clause::OMPC_priority,
1149 Clause::OMPC_proc_bind,
1150 Clause::OMPC_severity,
1151 Clause::OMPC_untied,
1152};
1153
1154static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_masked_taskloop {
1155};
1156
1157static OmpClauseSet requiredClauses_OMPD_parallel_masked_taskloop {
1158};
1159// Sets for parallel masked taskloop simd
1160
1161static OmpClauseSet allowedClauses_OMPD_parallel_masked_taskloop_simd {
1162 Clause::OMPC_aligned,
1163 Clause::OMPC_allocate,
1164 Clause::OMPC_copyin,
1165 Clause::OMPC_firstprivate,
1166 Clause::OMPC_if,
1167 Clause::OMPC_lastprivate,
1168 Clause::OMPC_linear,
1169 Clause::OMPC_nontemporal,
1170 Clause::OMPC_ompx_attribute,
1171 Clause::OMPC_private,
1172 Clause::OMPC_reduction,
1173 Clause::OMPC_shared,
1174};
1175
1176static OmpClauseSet allowedOnceClauses_OMPD_parallel_masked_taskloop_simd {
1177 Clause::OMPC_collapse,
1178 Clause::OMPC_default,
1179 Clause::OMPC_filter,
1180 Clause::OMPC_final,
1181 Clause::OMPC_grainsize,
1182 Clause::OMPC_mergeable,
1183 Clause::OMPC_message,
1184 Clause::OMPC_nogroup,
1185 Clause::OMPC_num_tasks,
1186 Clause::OMPC_num_threads,
1187 Clause::OMPC_order,
1188 Clause::OMPC_priority,
1189 Clause::OMPC_proc_bind,
1190 Clause::OMPC_safelen,
1191 Clause::OMPC_severity,
1192 Clause::OMPC_simdlen,
1193 Clause::OMPC_untied,
1194};
1195
1196static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_masked_taskloop_simd {
1197};
1198
1199static OmpClauseSet requiredClauses_OMPD_parallel_masked_taskloop_simd {
1200};
1201// Sets for parallel master
1202
1203static OmpClauseSet allowedClauses_OMPD_parallel_master {
1204 Clause::OMPC_allocate,
1205 Clause::OMPC_copyin,
1206 Clause::OMPC_firstprivate,
1207 Clause::OMPC_if,
1208 Clause::OMPC_ompx_attribute,
1209 Clause::OMPC_private,
1210 Clause::OMPC_reduction,
1211 Clause::OMPC_shared,
1212};
1213
1214static OmpClauseSet allowedOnceClauses_OMPD_parallel_master {
1215 Clause::OMPC_default,
1216 Clause::OMPC_message,
1217 Clause::OMPC_num_threads,
1218 Clause::OMPC_proc_bind,
1219 Clause::OMPC_severity,
1220};
1221
1222static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master {
1223};
1224
1225static OmpClauseSet requiredClauses_OMPD_parallel_master {
1226};
1227// Sets for parallel master taskloop
1228
1229static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop {
1230 Clause::OMPC_allocate,
1231 Clause::OMPC_copyin,
1232 Clause::OMPC_firstprivate,
1233 Clause::OMPC_if,
1234 Clause::OMPC_lastprivate,
1235 Clause::OMPC_ompx_attribute,
1236 Clause::OMPC_private,
1237 Clause::OMPC_reduction,
1238 Clause::OMPC_shared,
1239};
1240
1241static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop {
1242 Clause::OMPC_collapse,
1243 Clause::OMPC_default,
1244 Clause::OMPC_final,
1245 Clause::OMPC_grainsize,
1246 Clause::OMPC_mergeable,
1247 Clause::OMPC_message,
1248 Clause::OMPC_nogroup,
1249 Clause::OMPC_num_tasks,
1250 Clause::OMPC_num_threads,
1251 Clause::OMPC_priority,
1252 Clause::OMPC_proc_bind,
1253 Clause::OMPC_severity,
1254 Clause::OMPC_untied,
1255};
1256
1257static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop {
1258};
1259
1260static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop {
1261};
1262// Sets for parallel master taskloop simd
1263
1264static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop_simd {
1265 Clause::OMPC_aligned,
1266 Clause::OMPC_allocate,
1267 Clause::OMPC_copyin,
1268 Clause::OMPC_firstprivate,
1269 Clause::OMPC_if,
1270 Clause::OMPC_lastprivate,
1271 Clause::OMPC_linear,
1272 Clause::OMPC_nontemporal,
1273 Clause::OMPC_ompx_attribute,
1274 Clause::OMPC_private,
1275 Clause::OMPC_reduction,
1276 Clause::OMPC_shared,
1277};
1278
1279static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop_simd {
1280 Clause::OMPC_collapse,
1281 Clause::OMPC_default,
1282 Clause::OMPC_final,
1283 Clause::OMPC_grainsize,
1284 Clause::OMPC_mergeable,
1285 Clause::OMPC_message,
1286 Clause::OMPC_nogroup,
1287 Clause::OMPC_num_tasks,
1288 Clause::OMPC_num_threads,
1289 Clause::OMPC_order,
1290 Clause::OMPC_priority,
1291 Clause::OMPC_proc_bind,
1292 Clause::OMPC_safelen,
1293 Clause::OMPC_severity,
1294 Clause::OMPC_simdlen,
1295 Clause::OMPC_untied,
1296};
1297
1298static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd {
1299};
1300
1301static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop_simd {
1302};
1303// Sets for parallel sections
1304
1305static OmpClauseSet allowedClauses_OMPD_parallel_sections {
1306 Clause::OMPC_allocate,
1307 Clause::OMPC_copyin,
1308 Clause::OMPC_firstprivate,
1309 Clause::OMPC_if,
1310 Clause::OMPC_lastprivate,
1311 Clause::OMPC_ompx_attribute,
1312 Clause::OMPC_private,
1313 Clause::OMPC_reduction,
1314 Clause::OMPC_shared,
1315};
1316
1317static OmpClauseSet allowedOnceClauses_OMPD_parallel_sections {
1318 Clause::OMPC_default,
1319 Clause::OMPC_message,
1320 Clause::OMPC_num_threads,
1321 Clause::OMPC_proc_bind,
1322 Clause::OMPC_severity,
1323};
1324
1325static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_sections {
1326};
1327
1328static OmpClauseSet requiredClauses_OMPD_parallel_sections {
1329};
1330// Sets for parallel workshare
1331
1332static OmpClauseSet allowedClauses_OMPD_parallel_workshare {
1333 Clause::OMPC_allocate,
1334 Clause::OMPC_copyin,
1335 Clause::OMPC_firstprivate,
1336 Clause::OMPC_if,
1337 Clause::OMPC_private,
1338 Clause::OMPC_reduction,
1339 Clause::OMPC_shared,
1340};
1341
1342static OmpClauseSet allowedOnceClauses_OMPD_parallel_workshare {
1343 Clause::OMPC_default,
1344 Clause::OMPC_message,
1345 Clause::OMPC_num_threads,
1346 Clause::OMPC_proc_bind,
1347 Clause::OMPC_severity,
1348};
1349
1350static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_workshare {
1351};
1352
1353static OmpClauseSet requiredClauses_OMPD_parallel_workshare {
1354};
1355// Sets for requires
1356
1357static OmpClauseSet allowedClauses_OMPD_requires {
1358};
1359
1360static OmpClauseSet allowedOnceClauses_OMPD_requires {
1361 Clause::OMPC_atomic_default_mem_order,
1362 Clause::OMPC_device_safesync,
1363 Clause::OMPC_dynamic_allocators,
1364 Clause::OMPC_reverse_offload,
1365 Clause::OMPC_self_maps,
1366 Clause::OMPC_unified_address,
1367 Clause::OMPC_unified_shared_memory,
1368};
1369
1370static OmpClauseSet allowedExclusiveClauses_OMPD_requires {
1371};
1372
1373static OmpClauseSet requiredClauses_OMPD_requires {
1374};
1375// Sets for reverse
1376
1377static OmpClauseSet allowedClauses_OMPD_reverse {
1378};
1379
1380static OmpClauseSet allowedOnceClauses_OMPD_reverse {
1381};
1382
1383static OmpClauseSet allowedExclusiveClauses_OMPD_reverse {
1384};
1385
1386static OmpClauseSet requiredClauses_OMPD_reverse {
1387};
1388// Sets for scan
1389
1390static OmpClauseSet allowedClauses_OMPD_scan {
1391};
1392
1393static OmpClauseSet allowedOnceClauses_OMPD_scan {
1394 Clause::OMPC_exclusive,
1395 Clause::OMPC_inclusive,
1396};
1397
1398static OmpClauseSet allowedExclusiveClauses_OMPD_scan {
1399};
1400
1401static OmpClauseSet requiredClauses_OMPD_scan {
1402};
1403// Sets for scope
1404
1405static OmpClauseSet allowedClauses_OMPD_scope {
1406 Clause::OMPC_private,
1407 Clause::OMPC_reduction,
1408 Clause::OMPC_firstprivate,
1409 Clause::OMPC_allocate,
1410};
1411
1412static OmpClauseSet allowedOnceClauses_OMPD_scope {
1413 Clause::OMPC_nowait,
1414};
1415
1416static OmpClauseSet allowedExclusiveClauses_OMPD_scope {
1417};
1418
1419static OmpClauseSet requiredClauses_OMPD_scope {
1420};
1421// Sets for section
1422
1423static OmpClauseSet allowedClauses_OMPD_section {
1424};
1425
1426static OmpClauseSet allowedOnceClauses_OMPD_section {
1427};
1428
1429static OmpClauseSet allowedExclusiveClauses_OMPD_section {
1430};
1431
1432static OmpClauseSet requiredClauses_OMPD_section {
1433};
1434// Sets for sections
1435
1436static OmpClauseSet allowedClauses_OMPD_sections {
1437 Clause::OMPC_allocate,
1438 Clause::OMPC_firstprivate,
1439 Clause::OMPC_lastprivate,
1440 Clause::OMPC_private,
1441 Clause::OMPC_reduction,
1442};
1443
1444static OmpClauseSet allowedOnceClauses_OMPD_sections {
1445 Clause::OMPC_nowait,
1446};
1447
1448static OmpClauseSet allowedExclusiveClauses_OMPD_sections {
1449};
1450
1451static OmpClauseSet requiredClauses_OMPD_sections {
1452};
1453// Sets for simd
1454
1455static OmpClauseSet allowedClauses_OMPD_simd {
1456 Clause::OMPC_aligned,
1457 Clause::OMPC_allocate,
1458 Clause::OMPC_if,
1459 Clause::OMPC_lastprivate,
1460 Clause::OMPC_linear,
1461 Clause::OMPC_nontemporal,
1462 Clause::OMPC_private,
1463 Clause::OMPC_reduction,
1464};
1465
1466static OmpClauseSet allowedOnceClauses_OMPD_simd {
1467 Clause::OMPC_collapse,
1468 Clause::OMPC_order,
1469 Clause::OMPC_safelen,
1470 Clause::OMPC_simdlen,
1471};
1472
1473static OmpClauseSet allowedExclusiveClauses_OMPD_simd {
1474};
1475
1476static OmpClauseSet requiredClauses_OMPD_simd {
1477};
1478// Sets for single
1479
1480static OmpClauseSet allowedClauses_OMPD_single {
1481 Clause::OMPC_allocate,
1482 Clause::OMPC_copyprivate,
1483 Clause::OMPC_firstprivate,
1484 Clause::OMPC_private,
1485};
1486
1487static OmpClauseSet allowedOnceClauses_OMPD_single {
1488 Clause::OMPC_nowait,
1489};
1490
1491static OmpClauseSet allowedExclusiveClauses_OMPD_single {
1492};
1493
1494static OmpClauseSet requiredClauses_OMPD_single {
1495};
1496// Sets for split
1497
1498static OmpClauseSet allowedClauses_OMPD_split {
1499};
1500
1501static OmpClauseSet allowedOnceClauses_OMPD_split {
1502 Clause::OMPC_counts,
1503};
1504
1505static OmpClauseSet allowedExclusiveClauses_OMPD_split {
1506};
1507
1508static OmpClauseSet requiredClauses_OMPD_split {
1509 Clause::OMPC_counts,
1510};
1511// Sets for stripe
1512
1513static OmpClauseSet allowedClauses_OMPD_stripe {
1514};
1515
1516static OmpClauseSet allowedOnceClauses_OMPD_stripe {
1517 Clause::OMPC_sizes,
1518};
1519
1520static OmpClauseSet allowedExclusiveClauses_OMPD_stripe {
1521};
1522
1523static OmpClauseSet requiredClauses_OMPD_stripe {
1524};
1525// Sets for target
1526
1527static OmpClauseSet allowedClauses_OMPD_target {
1528 Clause::OMPC_allocate,
1529 Clause::OMPC_depend,
1530 Clause::OMPC_dyn_groupprivate,
1531 Clause::OMPC_firstprivate,
1532 Clause::OMPC_if,
1533 Clause::OMPC_has_device_addr,
1534 Clause::OMPC_in_reduction,
1535 Clause::OMPC_is_device_ptr,
1536 Clause::OMPC_map,
1537 Clause::OMPC_ompx_attribute,
1538 Clause::OMPC_private,
1539 Clause::OMPC_uses_allocators,
1540};
1541
1542static OmpClauseSet allowedOnceClauses_OMPD_target {
1543 Clause::OMPC_default,
1544 Clause::OMPC_defaultmap,
1545 Clause::OMPC_device,
1546 Clause::OMPC_nowait,
1547 Clause::OMPC_ompx_bare,
1548 Clause::OMPC_ompx_dyn_cgroup_mem,
1549 Clause::OMPC_replayable,
1550 Clause::OMPC_thread_limit,
1551};
1552
1553static OmpClauseSet allowedExclusiveClauses_OMPD_target {
1554};
1555
1556static OmpClauseSet requiredClauses_OMPD_target {
1557};
1558// Sets for target data
1559
1560static OmpClauseSet allowedClauses_OMPD_target_data {
1561 Clause::OMPC_if,
1562};
1563
1564static OmpClauseSet allowedOnceClauses_OMPD_target_data {
1565 Clause::OMPC_default,
1566 Clause::OMPC_device,
1567 Clause::OMPC_transparent,
1568};
1569
1570static OmpClauseSet allowedExclusiveClauses_OMPD_target_data {
1571};
1572
1573static OmpClauseSet requiredClauses_OMPD_target_data {
1574 Clause::OMPC_map,
1575 Clause::OMPC_use_device_addr,
1576 Clause::OMPC_use_device_ptr,
1577};
1578// Sets for target enter data
1579
1580static OmpClauseSet allowedClauses_OMPD_target_enter_data {
1581 Clause::OMPC_depend,
1582 Clause::OMPC_if,
1583};
1584
1585static OmpClauseSet allowedOnceClauses_OMPD_target_enter_data {
1586 Clause::OMPC_device,
1587 Clause::OMPC_nowait,
1588 Clause::OMPC_replayable,
1589};
1590
1591static OmpClauseSet allowedExclusiveClauses_OMPD_target_enter_data {
1592};
1593
1594static OmpClauseSet requiredClauses_OMPD_target_enter_data {
1595 Clause::OMPC_map,
1596};
1597// Sets for target exit data
1598
1599static OmpClauseSet allowedClauses_OMPD_target_exit_data {
1600 Clause::OMPC_depend,
1601 Clause::OMPC_if,
1602};
1603
1604static OmpClauseSet allowedOnceClauses_OMPD_target_exit_data {
1605 Clause::OMPC_device,
1606 Clause::OMPC_nowait,
1607 Clause::OMPC_replayable,
1608};
1609
1610static OmpClauseSet allowedExclusiveClauses_OMPD_target_exit_data {
1611};
1612
1613static OmpClauseSet requiredClauses_OMPD_target_exit_data {
1614 Clause::OMPC_map,
1615};
1616// Sets for target parallel
1617
1618static OmpClauseSet allowedClauses_OMPD_target_parallel {
1619 Clause::OMPC_allocate,
1620 Clause::OMPC_depend,
1621 Clause::OMPC_dyn_groupprivate,
1622 Clause::OMPC_firstprivate,
1623 Clause::OMPC_has_device_addr,
1624 Clause::OMPC_if,
1625 Clause::OMPC_is_device_ptr,
1626 Clause::OMPC_map,
1627 Clause::OMPC_ompx_attribute,
1628 Clause::OMPC_private,
1629 Clause::OMPC_reduction,
1630 Clause::OMPC_shared,
1631 Clause::OMPC_uses_allocators,
1632};
1633
1634static OmpClauseSet allowedOnceClauses_OMPD_target_parallel {
1635 Clause::OMPC_default,
1636 Clause::OMPC_defaultmap,
1637 Clause::OMPC_device,
1638 Clause::OMPC_message,
1639 Clause::OMPC_nowait,
1640 Clause::OMPC_num_threads,
1641 Clause::OMPC_ompx_dyn_cgroup_mem,
1642 Clause::OMPC_proc_bind,
1643 Clause::OMPC_severity,
1644 Clause::OMPC_thread_limit,
1645};
1646
1647static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel {
1648};
1649
1650static OmpClauseSet requiredClauses_OMPD_target_parallel {
1651};
1652// Sets for target parallel do
1653
1654static OmpClauseSet allowedClauses_OMPD_target_parallel_do {
1655 Clause::OMPC_depend,
1656 Clause::OMPC_dyn_groupprivate,
1657 Clause::OMPC_firstprivate,
1658 Clause::OMPC_has_device_addr,
1659 Clause::OMPC_if,
1660 Clause::OMPC_is_device_ptr,
1661 Clause::OMPC_lastprivate,
1662 Clause::OMPC_linear,
1663 Clause::OMPC_map,
1664 Clause::OMPC_private,
1665 Clause::OMPC_reduction,
1666 Clause::OMPC_shared,
1667 Clause::OMPC_uses_allocators,
1668};
1669
1670static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do {
1671 Clause::OMPC_allocator,
1672 Clause::OMPC_collapse,
1673 Clause::OMPC_default,
1674 Clause::OMPC_defaultmap,
1675 Clause::OMPC_device,
1676 Clause::OMPC_message,
1677 Clause::OMPC_nowait,
1678 Clause::OMPC_num_threads,
1679 Clause::OMPC_order,
1680 Clause::OMPC_ordered,
1681 Clause::OMPC_proc_bind,
1682 Clause::OMPC_schedule,
1683 Clause::OMPC_severity,
1684};
1685
1686static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do {
1687};
1688
1689static OmpClauseSet requiredClauses_OMPD_target_parallel_do {
1690};
1691// Sets for target parallel do simd
1692
1693static OmpClauseSet allowedClauses_OMPD_target_parallel_do_simd {
1694 Clause::OMPC_aligned,
1695 Clause::OMPC_allocate,
1696 Clause::OMPC_depend,
1697 Clause::OMPC_dyn_groupprivate,
1698 Clause::OMPC_firstprivate,
1699 Clause::OMPC_has_device_addr,
1700 Clause::OMPC_if,
1701 Clause::OMPC_is_device_ptr,
1702 Clause::OMPC_lastprivate,
1703 Clause::OMPC_linear,
1704 Clause::OMPC_map,
1705 Clause::OMPC_nontemporal,
1706 Clause::OMPC_private,
1707 Clause::OMPC_reduction,
1708 Clause::OMPC_shared,
1709 Clause::OMPC_uses_allocators,
1710};
1711
1712static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do_simd {
1713 Clause::OMPC_collapse,
1714 Clause::OMPC_default,
1715 Clause::OMPC_defaultmap,
1716 Clause::OMPC_device,
1717 Clause::OMPC_message,
1718 Clause::OMPC_nowait,
1719 Clause::OMPC_num_threads,
1720 Clause::OMPC_order,
1721 Clause::OMPC_ordered,
1722 Clause::OMPC_proc_bind,
1723 Clause::OMPC_safelen,
1724 Clause::OMPC_schedule,
1725 Clause::OMPC_severity,
1726 Clause::OMPC_simdlen,
1727};
1728
1729static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do_simd {
1730};
1731
1732static OmpClauseSet requiredClauses_OMPD_target_parallel_do_simd {
1733};
1734// Sets for target parallel for
1735
1736static OmpClauseSet allowedClauses_OMPD_target_parallel_for {
1737 Clause::OMPC_allocate,
1738 Clause::OMPC_depend,
1739 Clause::OMPC_dyn_groupprivate,
1740 Clause::OMPC_firstprivate,
1741 Clause::OMPC_has_device_addr,
1742 Clause::OMPC_if,
1743 Clause::OMPC_is_device_ptr,
1744 Clause::OMPC_lastprivate,
1745 Clause::OMPC_linear,
1746 Clause::OMPC_map,
1747 Clause::OMPC_ompx_attribute,
1748 Clause::OMPC_private,
1749 Clause::OMPC_reduction,
1750 Clause::OMPC_shared,
1751 Clause::OMPC_uses_allocators,
1752};
1753
1754static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for {
1755 Clause::OMPC_collapse,
1756 Clause::OMPC_default,
1757 Clause::OMPC_defaultmap,
1758 Clause::OMPC_device,
1759 Clause::OMPC_message,
1760 Clause::OMPC_nowait,
1761 Clause::OMPC_num_threads,
1762 Clause::OMPC_ompx_dyn_cgroup_mem,
1763 Clause::OMPC_order,
1764 Clause::OMPC_ordered,
1765 Clause::OMPC_proc_bind,
1766 Clause::OMPC_schedule,
1767 Clause::OMPC_severity,
1768 Clause::OMPC_thread_limit,
1769};
1770
1771static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for {
1772};
1773
1774static OmpClauseSet requiredClauses_OMPD_target_parallel_for {
1775};
1776// Sets for target parallel for simd
1777
1778static OmpClauseSet allowedClauses_OMPD_target_parallel_for_simd {
1779 Clause::OMPC_aligned,
1780 Clause::OMPC_allocate,
1781 Clause::OMPC_depend,
1782 Clause::OMPC_dyn_groupprivate,
1783 Clause::OMPC_firstprivate,
1784 Clause::OMPC_has_device_addr,
1785 Clause::OMPC_if,
1786 Clause::OMPC_is_device_ptr,
1787 Clause::OMPC_lastprivate,
1788 Clause::OMPC_linear,
1789 Clause::OMPC_map,
1790 Clause::OMPC_nontemporal,
1791 Clause::OMPC_ompx_attribute,
1792 Clause::OMPC_private,
1793 Clause::OMPC_reduction,
1794 Clause::OMPC_shared,
1795 Clause::OMPC_uses_allocators,
1796};
1797
1798static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for_simd {
1799 Clause::OMPC_collapse,
1800 Clause::OMPC_default,
1801 Clause::OMPC_defaultmap,
1802 Clause::OMPC_device,
1803 Clause::OMPC_message,
1804 Clause::OMPC_nowait,
1805 Clause::OMPC_num_threads,
1806 Clause::OMPC_ompx_dyn_cgroup_mem,
1807 Clause::OMPC_order,
1808 Clause::OMPC_ordered,
1809 Clause::OMPC_proc_bind,
1810 Clause::OMPC_safelen,
1811 Clause::OMPC_schedule,
1812 Clause::OMPC_severity,
1813 Clause::OMPC_simdlen,
1814 Clause::OMPC_thread_limit,
1815};
1816
1817static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for_simd {
1818};
1819
1820static OmpClauseSet requiredClauses_OMPD_target_parallel_for_simd {
1821};
1822// Sets for target simd
1823
1824static OmpClauseSet allowedClauses_OMPD_target_simd {
1825 Clause::OMPC_aligned,
1826 Clause::OMPC_allocate,
1827 Clause::OMPC_depend,
1828 Clause::OMPC_dyn_groupprivate,
1829 Clause::OMPC_firstprivate,
1830 Clause::OMPC_has_device_addr,
1831 Clause::OMPC_if,
1832 Clause::OMPC_is_device_ptr,
1833 Clause::OMPC_lastprivate,
1834 Clause::OMPC_linear,
1835 Clause::OMPC_map,
1836 Clause::OMPC_nontemporal,
1837 Clause::OMPC_ompx_attribute,
1838 Clause::OMPC_private,
1839 Clause::OMPC_reduction,
1840 Clause::OMPC_shared,
1841 Clause::OMPC_uses_allocators,
1842};
1843
1844static OmpClauseSet allowedOnceClauses_OMPD_target_simd {
1845 Clause::OMPC_collapse,
1846 Clause::OMPC_defaultmap,
1847 Clause::OMPC_device,
1848 Clause::OMPC_message,
1849 Clause::OMPC_nowait,
1850 Clause::OMPC_num_threads,
1851 Clause::OMPC_ompx_dyn_cgroup_mem,
1852 Clause::OMPC_order,
1853 Clause::OMPC_proc_bind,
1854 Clause::OMPC_safelen,
1855 Clause::OMPC_schedule,
1856 Clause::OMPC_severity,
1857 Clause::OMPC_simdlen,
1858 Clause::OMPC_thread_limit,
1859};
1860
1861static OmpClauseSet allowedExclusiveClauses_OMPD_target_simd {
1862};
1863
1864static OmpClauseSet requiredClauses_OMPD_target_simd {
1865};
1866// Sets for target teams
1867
1868static OmpClauseSet allowedClauses_OMPD_target_teams {
1869 Clause::OMPC_allocate,
1870 Clause::OMPC_depend,
1871 Clause::OMPC_dyn_groupprivate,
1872 Clause::OMPC_firstprivate,
1873 Clause::OMPC_has_device_addr,
1874 Clause::OMPC_if,
1875 Clause::OMPC_is_device_ptr,
1876 Clause::OMPC_map,
1877 Clause::OMPC_ompx_attribute,
1878 Clause::OMPC_private,
1879 Clause::OMPC_reduction,
1880 Clause::OMPC_shared,
1881 Clause::OMPC_uses_allocators,
1882};
1883
1884static OmpClauseSet allowedOnceClauses_OMPD_target_teams {
1885 Clause::OMPC_default,
1886 Clause::OMPC_defaultmap,
1887 Clause::OMPC_device,
1888 Clause::OMPC_nowait,
1889 Clause::OMPC_num_teams,
1890 Clause::OMPC_ompx_bare,
1891 Clause::OMPC_ompx_dyn_cgroup_mem,
1892 Clause::OMPC_thread_limit,
1893};
1894
1895static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams {
1896};
1897
1898static OmpClauseSet requiredClauses_OMPD_target_teams {
1899};
1900// Sets for target teams distribute
1901
1902static OmpClauseSet allowedClauses_OMPD_target_teams_distribute {
1903 Clause::OMPC_allocate,
1904 Clause::OMPC_depend,
1905 Clause::OMPC_dyn_groupprivate,
1906 Clause::OMPC_firstprivate,
1907 Clause::OMPC_has_device_addr,
1908 Clause::OMPC_if,
1909 Clause::OMPC_is_device_ptr,
1910 Clause::OMPC_lastprivate,
1911 Clause::OMPC_map,
1912 Clause::OMPC_ompx_attribute,
1913 Clause::OMPC_private,
1914 Clause::OMPC_reduction,
1915 Clause::OMPC_shared,
1916 Clause::OMPC_uses_allocators,
1917};
1918
1919static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute {
1920 Clause::OMPC_collapse,
1921 Clause::OMPC_default,
1922 Clause::OMPC_defaultmap,
1923 Clause::OMPC_device,
1924 Clause::OMPC_dist_schedule,
1925 Clause::OMPC_nowait,
1926 Clause::OMPC_num_teams,
1927 Clause::OMPC_ompx_dyn_cgroup_mem,
1928 Clause::OMPC_order,
1929 Clause::OMPC_thread_limit,
1930};
1931
1932static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute {
1933};
1934
1935static OmpClauseSet requiredClauses_OMPD_target_teams_distribute {
1936};
1937// Sets for target teams distribute parallel do
1938
1939static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do {
1940 Clause::OMPC_allocate,
1941 Clause::OMPC_depend,
1942 Clause::OMPC_dyn_groupprivate,
1943 Clause::OMPC_firstprivate,
1944 Clause::OMPC_has_device_addr,
1945 Clause::OMPC_if,
1946 Clause::OMPC_is_device_ptr,
1947 Clause::OMPC_lastprivate,
1948 Clause::OMPC_linear,
1949 Clause::OMPC_map,
1950 Clause::OMPC_private,
1951 Clause::OMPC_reduction,
1952 Clause::OMPC_shared,
1953 Clause::OMPC_uses_allocators,
1954};
1955
1956static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do {
1957 Clause::OMPC_collapse,
1958 Clause::OMPC_default,
1959 Clause::OMPC_defaultmap,
1960 Clause::OMPC_device,
1961 Clause::OMPC_dist_schedule,
1962 Clause::OMPC_message,
1963 Clause::OMPC_nowait,
1964 Clause::OMPC_num_teams,
1965 Clause::OMPC_num_threads,
1966 Clause::OMPC_order,
1967 Clause::OMPC_proc_bind,
1968 Clause::OMPC_schedule,
1969 Clause::OMPC_severity,
1970 Clause::OMPC_thread_limit,
1971};
1972
1973static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do {
1974};
1975
1976static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do {
1977};
1978// Sets for target teams distribute parallel do simd
1979
1980static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do_simd {
1981 Clause::OMPC_aligned,
1982 Clause::OMPC_allocate,
1983 Clause::OMPC_depend,
1984 Clause::OMPC_dyn_groupprivate,
1985 Clause::OMPC_firstprivate,
1986 Clause::OMPC_has_device_addr,
1987 Clause::OMPC_if,
1988 Clause::OMPC_is_device_ptr,
1989 Clause::OMPC_lastprivate,
1990 Clause::OMPC_linear,
1991 Clause::OMPC_map,
1992 Clause::OMPC_nontemporal,
1993 Clause::OMPC_private,
1994 Clause::OMPC_reduction,
1995 Clause::OMPC_shared,
1996 Clause::OMPC_uses_allocators,
1997};
1998
1999static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd {
2000 Clause::OMPC_collapse,
2001 Clause::OMPC_default,
2002 Clause::OMPC_defaultmap,
2003 Clause::OMPC_device,
2004 Clause::OMPC_dist_schedule,
2005 Clause::OMPC_message,
2006 Clause::OMPC_nowait,
2007 Clause::OMPC_num_teams,
2008 Clause::OMPC_num_threads,
2009 Clause::OMPC_order,
2010 Clause::OMPC_proc_bind,
2011 Clause::OMPC_safelen,
2012 Clause::OMPC_schedule,
2013 Clause::OMPC_severity,
2014 Clause::OMPC_simdlen,
2015 Clause::OMPC_thread_limit,
2016};
2017
2018static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd {
2019};
2020
2021static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do_simd {
2022};
2023// Sets for target teams distribute parallel for
2024
2025static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for {
2026 Clause::OMPC_allocate,
2027 Clause::OMPC_depend,
2028 Clause::OMPC_dyn_groupprivate,
2029 Clause::OMPC_firstprivate,
2030 Clause::OMPC_has_device_addr,
2031 Clause::OMPC_if,
2032 Clause::OMPC_is_device_ptr,
2033 Clause::OMPC_lastprivate,
2034 Clause::OMPC_map,
2035 Clause::OMPC_ompx_attribute,
2036 Clause::OMPC_private,
2037 Clause::OMPC_reduction,
2038 Clause::OMPC_shared,
2039 Clause::OMPC_uses_allocators,
2040};
2041
2042static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for {
2043 Clause::OMPC_collapse,
2044 Clause::OMPC_default,
2045 Clause::OMPC_defaultmap,
2046 Clause::OMPC_device,
2047 Clause::OMPC_dist_schedule,
2048 Clause::OMPC_message,
2049 Clause::OMPC_nowait,
2050 Clause::OMPC_num_teams,
2051 Clause::OMPC_num_threads,
2052 Clause::OMPC_ompx_dyn_cgroup_mem,
2053 Clause::OMPC_order,
2054 Clause::OMPC_proc_bind,
2055 Clause::OMPC_schedule,
2056 Clause::OMPC_severity,
2057 Clause::OMPC_thread_limit,
2058};
2059
2060static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for {
2061};
2062
2063static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for {
2064};
2065// Sets for target teams distribute parallel for simd
2066
2067static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for_simd {
2068 Clause::OMPC_aligned,
2069 Clause::OMPC_allocate,
2070 Clause::OMPC_depend,
2071 Clause::OMPC_dyn_groupprivate,
2072 Clause::OMPC_firstprivate,
2073 Clause::OMPC_has_device_addr,
2074 Clause::OMPC_if,
2075 Clause::OMPC_is_device_ptr,
2076 Clause::OMPC_lastprivate,
2077 Clause::OMPC_linear,
2078 Clause::OMPC_map,
2079 Clause::OMPC_nontemporal,
2080 Clause::OMPC_ompx_attribute,
2081 Clause::OMPC_private,
2082 Clause::OMPC_reduction,
2083 Clause::OMPC_shared,
2084 Clause::OMPC_uses_allocators,
2085};
2086
2087static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd {
2088 Clause::OMPC_collapse,
2089 Clause::OMPC_default,
2090 Clause::OMPC_defaultmap,
2091 Clause::OMPC_device,
2092 Clause::OMPC_dist_schedule,
2093 Clause::OMPC_message,
2094 Clause::OMPC_nowait,
2095 Clause::OMPC_num_teams,
2096 Clause::OMPC_num_threads,
2097 Clause::OMPC_ompx_dyn_cgroup_mem,
2098 Clause::OMPC_order,
2099 Clause::OMPC_proc_bind,
2100 Clause::OMPC_safelen,
2101 Clause::OMPC_schedule,
2102 Clause::OMPC_severity,
2103 Clause::OMPC_simdlen,
2104 Clause::OMPC_thread_limit,
2105};
2106
2107static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd {
2108};
2109
2110static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for_simd {
2111};
2112// Sets for target teams distribute simd
2113
2114static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_simd {
2115 Clause::OMPC_aligned,
2116 Clause::OMPC_allocate,
2117 Clause::OMPC_depend,
2118 Clause::OMPC_dyn_groupprivate,
2119 Clause::OMPC_firstprivate,
2120 Clause::OMPC_has_device_addr,
2121 Clause::OMPC_if,
2122 Clause::OMPC_is_device_ptr,
2123 Clause::OMPC_lastprivate,
2124 Clause::OMPC_linear,
2125 Clause::OMPC_map,
2126 Clause::OMPC_nontemporal,
2127 Clause::OMPC_ompx_attribute,
2128 Clause::OMPC_private,
2129 Clause::OMPC_reduction,
2130 Clause::OMPC_shared,
2131 Clause::OMPC_uses_allocators,
2132};
2133
2134static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_simd {
2135 Clause::OMPC_collapse,
2136 Clause::OMPC_default,
2137 Clause::OMPC_defaultmap,
2138 Clause::OMPC_device,
2139 Clause::OMPC_dist_schedule,
2140 Clause::OMPC_nowait,
2141 Clause::OMPC_num_teams,
2142 Clause::OMPC_ompx_dyn_cgroup_mem,
2143 Clause::OMPC_order,
2144 Clause::OMPC_safelen,
2145 Clause::OMPC_simdlen,
2146 Clause::OMPC_thread_limit,
2147};
2148
2149static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_simd {
2150};
2151
2152static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_simd {
2153};
2154// Sets for target teams workdistribute
2155
2156static OmpClauseSet allowedClauses_OMPD_target_teams_workdistribute {
2157 Clause::OMPC_allocate,
2158 Clause::OMPC_depend,
2159 Clause::OMPC_firstprivate,
2160 Clause::OMPC_has_device_addr,
2161 Clause::OMPC_if,
2162 Clause::OMPC_is_device_ptr,
2163 Clause::OMPC_map,
2164 Clause::OMPC_ompx_attribute,
2165 Clause::OMPC_private,
2166 Clause::OMPC_reduction,
2167 Clause::OMPC_shared,
2168 Clause::OMPC_uses_allocators,
2169};
2170
2171static OmpClauseSet allowedOnceClauses_OMPD_target_teams_workdistribute {
2172 Clause::OMPC_default,
2173 Clause::OMPC_defaultmap,
2174 Clause::OMPC_device,
2175 Clause::OMPC_nowait,
2176 Clause::OMPC_num_teams,
2177 Clause::OMPC_ompx_bare,
2178 Clause::OMPC_ompx_dyn_cgroup_mem,
2179 Clause::OMPC_thread_limit,
2180};
2181
2182static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_workdistribute {
2183};
2184
2185static OmpClauseSet requiredClauses_OMPD_target_teams_workdistribute {
2186};
2187// Sets for target update
2188
2189static OmpClauseSet allowedClauses_OMPD_target_update {
2190 Clause::OMPC_depend,
2191 Clause::OMPC_from,
2192 Clause::OMPC_if,
2193 Clause::OMPC_to,
2194};
2195
2196static OmpClauseSet allowedOnceClauses_OMPD_target_update {
2197 Clause::OMPC_device,
2198 Clause::OMPC_nowait,
2199 Clause::OMPC_replayable,
2200};
2201
2202static OmpClauseSet allowedExclusiveClauses_OMPD_target_update {
2203};
2204
2205static OmpClauseSet requiredClauses_OMPD_target_update {
2206};
2207// Sets for task
2208
2209static OmpClauseSet allowedClauses_OMPD_task {
2210 Clause::OMPC_affinity,
2211 Clause::OMPC_allocate,
2212 Clause::OMPC_depend,
2213 Clause::OMPC_firstprivate,
2214 Clause::OMPC_if,
2215 Clause::OMPC_in_reduction,
2216 Clause::OMPC_private,
2217 Clause::OMPC_shared,
2218};
2219
2220static OmpClauseSet allowedOnceClauses_OMPD_task {
2221 Clause::OMPC_default,
2222 Clause::OMPC_detach,
2223 Clause::OMPC_final,
2224 Clause::OMPC_mergeable,
2225 Clause::OMPC_priority,
2226 Clause::OMPC_replayable,
2227 Clause::OMPC_threadset,
2228 Clause::OMPC_transparent,
2229 Clause::OMPC_untied,
2230};
2231
2232static OmpClauseSet allowedExclusiveClauses_OMPD_task {
2233};
2234
2235static OmpClauseSet requiredClauses_OMPD_task {
2236};
2237// Sets for taskgroup
2238
2239static OmpClauseSet allowedClauses_OMPD_taskgroup {
2240 Clause::OMPC_allocate,
2241 Clause::OMPC_task_reduction,
2242};
2243
2244static OmpClauseSet allowedOnceClauses_OMPD_taskgroup {
2245};
2246
2247static OmpClauseSet allowedExclusiveClauses_OMPD_taskgroup {
2248};
2249
2250static OmpClauseSet requiredClauses_OMPD_taskgroup {
2251};
2252// Sets for taskloop
2253
2254static OmpClauseSet allowedClauses_OMPD_taskloop {
2255 Clause::OMPC_allocate,
2256 Clause::OMPC_firstprivate,
2257 Clause::OMPC_in_reduction,
2258 Clause::OMPC_if,
2259 Clause::OMPC_lastprivate,
2260 Clause::OMPC_private,
2261 Clause::OMPC_reduction,
2262 Clause::OMPC_shared,
2263};
2264
2265static OmpClauseSet allowedOnceClauses_OMPD_taskloop {
2266 Clause::OMPC_collapse,
2267 Clause::OMPC_default,
2268 Clause::OMPC_final,
2269 Clause::OMPC_mergeable,
2270 Clause::OMPC_nogroup,
2271 Clause::OMPC_priority,
2272 Clause::OMPC_replayable,
2273 Clause::OMPC_threadset,
2274 Clause::OMPC_transparent,
2275 Clause::OMPC_untied,
2276};
2277
2278static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop {
2279 Clause::OMPC_grainsize,
2280 Clause::OMPC_num_tasks,
2281};
2282
2283static OmpClauseSet requiredClauses_OMPD_taskloop {
2284};
2285// Sets for taskloop simd
2286
2287static OmpClauseSet allowedClauses_OMPD_taskloop_simd {
2288 Clause::OMPC_aligned,
2289 Clause::OMPC_allocate,
2290 Clause::OMPC_firstprivate,
2291 Clause::OMPC_if,
2292 Clause::OMPC_in_reduction,
2293 Clause::OMPC_lastprivate,
2294 Clause::OMPC_linear,
2295 Clause::OMPC_nontemporal,
2296 Clause::OMPC_private,
2297 Clause::OMPC_reduction,
2298 Clause::OMPC_shared,
2299};
2300
2301static OmpClauseSet allowedOnceClauses_OMPD_taskloop_simd {
2302 Clause::OMPC_collapse,
2303 Clause::OMPC_default,
2304 Clause::OMPC_final,
2305 Clause::OMPC_mergeable,
2306 Clause::OMPC_nogroup,
2307 Clause::OMPC_order,
2308 Clause::OMPC_priority,
2309 Clause::OMPC_safelen,
2310 Clause::OMPC_simdlen,
2311 Clause::OMPC_untied,
2312};
2313
2314static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop_simd {
2315 Clause::OMPC_grainsize,
2316 Clause::OMPC_num_tasks,
2317};
2318
2319static OmpClauseSet requiredClauses_OMPD_taskloop_simd {
2320};
2321// Sets for taskwait
2322
2323static OmpClauseSet allowedClauses_OMPD_taskwait {
2324 Clause::OMPC_depend,
2325};
2326
2327static OmpClauseSet allowedOnceClauses_OMPD_taskwait {
2328 Clause::OMPC_nowait,
2329 Clause::OMPC_replayable,
2330};
2331
2332static OmpClauseSet allowedExclusiveClauses_OMPD_taskwait {
2333};
2334
2335static OmpClauseSet requiredClauses_OMPD_taskwait {
2336};
2337// Sets for taskyield
2338
2339static OmpClauseSet allowedClauses_OMPD_taskyield {
2340};
2341
2342static OmpClauseSet allowedOnceClauses_OMPD_taskyield {
2343};
2344
2345static OmpClauseSet allowedExclusiveClauses_OMPD_taskyield {
2346};
2347
2348static OmpClauseSet requiredClauses_OMPD_taskyield {
2349};
2350// Sets for taskgraph
2351
2352static OmpClauseSet allowedClauses_OMPD_taskgraph {
2353 Clause::OMPC_if,
2354};
2355
2356static OmpClauseSet allowedOnceClauses_OMPD_taskgraph {
2357 Clause::OMPC_graph_id,
2358 Clause::OMPC_graph_reset,
2359 Clause::OMPC_nogroup,
2360};
2361
2362static OmpClauseSet allowedExclusiveClauses_OMPD_taskgraph {
2363};
2364
2365static OmpClauseSet requiredClauses_OMPD_taskgraph {
2366};
2367// Sets for teams
2368
2369static OmpClauseSet allowedClauses_OMPD_teams {
2370 Clause::OMPC_allocate,
2371 Clause::OMPC_dyn_groupprivate,
2372 Clause::OMPC_firstprivate,
2373 Clause::OMPC_if,
2374 Clause::OMPC_ompx_attribute,
2375 Clause::OMPC_private,
2376 Clause::OMPC_reduction,
2377 Clause::OMPC_shared,
2378};
2379
2380static OmpClauseSet allowedOnceClauses_OMPD_teams {
2381 Clause::OMPC_default,
2382 Clause::OMPC_num_teams,
2383 Clause::OMPC_thread_limit,
2384};
2385
2386static OmpClauseSet allowedExclusiveClauses_OMPD_teams {
2387};
2388
2389static OmpClauseSet requiredClauses_OMPD_teams {
2390};
2391// Sets for teams distribute
2392
2393static OmpClauseSet allowedClauses_OMPD_teams_distribute {
2394 Clause::OMPC_allocate,
2395 Clause::OMPC_dyn_groupprivate,
2396 Clause::OMPC_firstprivate,
2397 Clause::OMPC_if,
2398 Clause::OMPC_lastprivate,
2399 Clause::OMPC_ompx_attribute,
2400 Clause::OMPC_private,
2401 Clause::OMPC_reduction,
2402 Clause::OMPC_shared,
2403};
2404
2405static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute {
2406 Clause::OMPC_collapse,
2407 Clause::OMPC_default,
2408 Clause::OMPC_dist_schedule,
2409 Clause::OMPC_num_teams,
2410 Clause::OMPC_order,
2411 Clause::OMPC_thread_limit,
2412};
2413
2414static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute {
2415};
2416
2417static OmpClauseSet requiredClauses_OMPD_teams_distribute {
2418};
2419// Sets for teams distribute parallel do
2420
2421static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do {
2422 Clause::OMPC_allocate,
2423 Clause::OMPC_copyin,
2424 Clause::OMPC_dyn_groupprivate,
2425 Clause::OMPC_firstprivate,
2426 Clause::OMPC_if,
2427 Clause::OMPC_lastprivate,
2428 Clause::OMPC_linear,
2429 Clause::OMPC_private,
2430 Clause::OMPC_reduction,
2431 Clause::OMPC_shared,
2432};
2433
2434static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do {
2435 Clause::OMPC_collapse,
2436 Clause::OMPC_default,
2437 Clause::OMPC_dist_schedule,
2438 Clause::OMPC_message,
2439 Clause::OMPC_num_teams,
2440 Clause::OMPC_num_threads,
2441 Clause::OMPC_order,
2442 Clause::OMPC_proc_bind,
2443 Clause::OMPC_schedule,
2444 Clause::OMPC_severity,
2445 Clause::OMPC_thread_limit,
2446};
2447
2448static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do {
2449};
2450
2451static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do {
2452};
2453// Sets for teams distribute parallel do simd
2454
2455static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do_simd {
2456 Clause::OMPC_aligned,
2457 Clause::OMPC_allocate,
2458 Clause::OMPC_dyn_groupprivate,
2459 Clause::OMPC_firstprivate,
2460 Clause::OMPC_if,
2461 Clause::OMPC_lastprivate,
2462 Clause::OMPC_linear,
2463 Clause::OMPC_nontemporal,
2464 Clause::OMPC_private,
2465 Clause::OMPC_reduction,
2466 Clause::OMPC_shared,
2467};
2468
2469static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd {
2470 Clause::OMPC_collapse,
2471 Clause::OMPC_default,
2472 Clause::OMPC_dist_schedule,
2473 Clause::OMPC_message,
2474 Clause::OMPC_num_teams,
2475 Clause::OMPC_num_threads,
2476 Clause::OMPC_order,
2477 Clause::OMPC_proc_bind,
2478 Clause::OMPC_safelen,
2479 Clause::OMPC_schedule,
2480 Clause::OMPC_severity,
2481 Clause::OMPC_simdlen,
2482 Clause::OMPC_thread_limit,
2483};
2484
2485static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd {
2486};
2487
2488static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do_simd {
2489};
2490// Sets for teams distribute parallel for
2491
2492static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for {
2493 Clause::OMPC_allocate,
2494 Clause::OMPC_copyin,
2495 Clause::OMPC_dyn_groupprivate,
2496 Clause::OMPC_firstprivate,
2497 Clause::OMPC_if,
2498 Clause::OMPC_lastprivate,
2499 Clause::OMPC_ompx_attribute,
2500 Clause::OMPC_private,
2501 Clause::OMPC_reduction,
2502 Clause::OMPC_shared,
2503};
2504
2505static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for {
2506 Clause::OMPC_collapse,
2507 Clause::OMPC_default,
2508 Clause::OMPC_dist_schedule,
2509 Clause::OMPC_message,
2510 Clause::OMPC_num_teams,
2511 Clause::OMPC_num_threads,
2512 Clause::OMPC_order,
2513 Clause::OMPC_proc_bind,
2514 Clause::OMPC_schedule,
2515 Clause::OMPC_severity,
2516 Clause::OMPC_thread_limit,
2517};
2518
2519static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for {
2520};
2521
2522static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for {
2523};
2524// Sets for teams distribute parallel for simd
2525
2526static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for_simd {
2527 Clause::OMPC_aligned,
2528 Clause::OMPC_allocate,
2529 Clause::OMPC_dyn_groupprivate,
2530 Clause::OMPC_firstprivate,
2531 Clause::OMPC_lastprivate,
2532 Clause::OMPC_if,
2533 Clause::OMPC_linear,
2534 Clause::OMPC_nontemporal,
2535 Clause::OMPC_ompx_attribute,
2536 Clause::OMPC_private,
2537 Clause::OMPC_reduction,
2538 Clause::OMPC_shared,
2539};
2540
2541static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd {
2542 Clause::OMPC_collapse,
2543 Clause::OMPC_default,
2544 Clause::OMPC_dist_schedule,
2545 Clause::OMPC_message,
2546 Clause::OMPC_num_teams,
2547 Clause::OMPC_num_threads,
2548 Clause::OMPC_order,
2549 Clause::OMPC_proc_bind,
2550 Clause::OMPC_safelen,
2551 Clause::OMPC_schedule,
2552 Clause::OMPC_severity,
2553 Clause::OMPC_simdlen,
2554 Clause::OMPC_thread_limit,
2555};
2556
2557static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd {
2558};
2559
2560static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for_simd {
2561};
2562// Sets for teams distribute simd
2563
2564static OmpClauseSet allowedClauses_OMPD_teams_distribute_simd {
2565 Clause::OMPC_aligned,
2566 Clause::OMPC_allocate,
2567 Clause::OMPC_dyn_groupprivate,
2568 Clause::OMPC_firstprivate,
2569 Clause::OMPC_if,
2570 Clause::OMPC_lastprivate,
2571 Clause::OMPC_linear,
2572 Clause::OMPC_nontemporal,
2573 Clause::OMPC_ompx_attribute,
2574 Clause::OMPC_private,
2575 Clause::OMPC_reduction,
2576 Clause::OMPC_shared,
2577};
2578
2579static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_simd {
2580 Clause::OMPC_collapse,
2581 Clause::OMPC_default,
2582 Clause::OMPC_dist_schedule,
2583 Clause::OMPC_num_teams,
2584 Clause::OMPC_order,
2585 Clause::OMPC_safelen,
2586 Clause::OMPC_simdlen,
2587 Clause::OMPC_thread_limit,
2588};
2589
2590static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_simd {
2591};
2592
2593static OmpClauseSet requiredClauses_OMPD_teams_distribute_simd {
2594};
2595// Sets for teams workdistribute
2596
2597static OmpClauseSet allowedClauses_OMPD_teams_workdistribute {
2598 Clause::OMPC_allocate,
2599 Clause::OMPC_firstprivate,
2600 Clause::OMPC_if,
2601 Clause::OMPC_ompx_attribute,
2602 Clause::OMPC_private,
2603 Clause::OMPC_reduction,
2604 Clause::OMPC_shared,
2605};
2606
2607static OmpClauseSet allowedOnceClauses_OMPD_teams_workdistribute {
2608 Clause::OMPC_default,
2609 Clause::OMPC_num_teams,
2610 Clause::OMPC_thread_limit,
2611};
2612
2613static OmpClauseSet allowedExclusiveClauses_OMPD_teams_workdistribute {
2614};
2615
2616static OmpClauseSet requiredClauses_OMPD_teams_workdistribute {
2617};
2618// Sets for threadprivate
2619
2620static OmpClauseSet allowedClauses_OMPD_threadprivate {
2621};
2622
2623static OmpClauseSet allowedOnceClauses_OMPD_threadprivate {
2624};
2625
2626static OmpClauseSet allowedExclusiveClauses_OMPD_threadprivate {
2627};
2628
2629static OmpClauseSet requiredClauses_OMPD_threadprivate {
2630};
2631// Sets for tile
2632
2633static OmpClauseSet allowedClauses_OMPD_tile {
2634};
2635
2636static OmpClauseSet allowedOnceClauses_OMPD_tile {
2637 Clause::OMPC_sizes,
2638};
2639
2640static OmpClauseSet allowedExclusiveClauses_OMPD_tile {
2641};
2642
2643static OmpClauseSet requiredClauses_OMPD_tile {
2644 Clause::OMPC_sizes,
2645};
2646// Sets for unknown
2647
2648static OmpClauseSet allowedClauses_OMPD_unknown {
2649};
2650
2651static OmpClauseSet allowedOnceClauses_OMPD_unknown {
2652};
2653
2654static OmpClauseSet allowedExclusiveClauses_OMPD_unknown {
2655};
2656
2657static OmpClauseSet requiredClauses_OMPD_unknown {
2658};
2659// Sets for unroll
2660
2661static OmpClauseSet allowedClauses_OMPD_unroll {
2662};
2663
2664static OmpClauseSet allowedOnceClauses_OMPD_unroll {
2665 Clause::OMPC_full,
2666 Clause::OMPC_partial,
2667};
2668
2669static OmpClauseSet allowedExclusiveClauses_OMPD_unroll {
2670};
2671
2672static OmpClauseSet requiredClauses_OMPD_unroll {
2673};
2674// Sets for workdistribute
2675
2676static OmpClauseSet allowedClauses_OMPD_workdistribute {
2677};
2678
2679static OmpClauseSet allowedOnceClauses_OMPD_workdistribute {
2680};
2681
2682static OmpClauseSet allowedExclusiveClauses_OMPD_workdistribute {
2683};
2684
2685static OmpClauseSet requiredClauses_OMPD_workdistribute {
2686};
2687// Sets for workshare
2688
2689static OmpClauseSet allowedClauses_OMPD_workshare {
2690};
2691
2692static OmpClauseSet allowedOnceClauses_OMPD_workshare {
2693 Clause::OMPC_nowait,
2694};
2695
2696static OmpClauseSet allowedExclusiveClauses_OMPD_workshare {
2697};
2698
2699static OmpClauseSet requiredClauses_OMPD_workshare {
2700};
2701// Sets for dispatch
2702
2703static OmpClauseSet allowedClauses_OMPD_dispatch {
2704 Clause::OMPC_depend,
2705 Clause::OMPC_has_device_addr,
2706 Clause::OMPC_is_device_ptr,
2707};
2708
2709static OmpClauseSet allowedOnceClauses_OMPD_dispatch {
2710 Clause::OMPC_device,
2711 Clause::OMPC_nocontext,
2712 Clause::OMPC_novariants,
2713 Clause::OMPC_nowait,
2714};
2715
2716static OmpClauseSet allowedExclusiveClauses_OMPD_dispatch {
2717};
2718
2719static OmpClauseSet requiredClauses_OMPD_dispatch {
2720};
2721// Sets for interop
2722
2723static OmpClauseSet allowedClauses_OMPD_interop {
2724 Clause::OMPC_depend,
2725 Clause::OMPC_destroy,
2726 Clause::OMPC_init,
2727 Clause::OMPC_use,
2728};
2729
2730static OmpClauseSet allowedOnceClauses_OMPD_interop {
2731 Clause::OMPC_device,
2732 Clause::OMPC_nowait,
2733};
2734
2735static OmpClauseSet allowedExclusiveClauses_OMPD_interop {
2736};
2737
2738static OmpClauseSet requiredClauses_OMPD_interop {
2739};
2740// Sets for loop
2741
2742static OmpClauseSet allowedClauses_OMPD_loop {
2743 Clause::OMPC_lastprivate,
2744 Clause::OMPC_private,
2745 Clause::OMPC_reduction,
2746};
2747
2748static OmpClauseSet allowedOnceClauses_OMPD_loop {
2749 Clause::OMPC_bind,
2750 Clause::OMPC_collapse,
2751 Clause::OMPC_order,
2752};
2753
2754static OmpClauseSet allowedExclusiveClauses_OMPD_loop {
2755};
2756
2757static OmpClauseSet requiredClauses_OMPD_loop {
2758};
2759// Sets for masked
2760
2761static OmpClauseSet allowedClauses_OMPD_masked {
2762};
2763
2764static OmpClauseSet allowedOnceClauses_OMPD_masked {
2765 Clause::OMPC_filter,
2766};
2767
2768static OmpClauseSet allowedExclusiveClauses_OMPD_masked {
2769};
2770
2771static OmpClauseSet requiredClauses_OMPD_masked {
2772};
2773// Sets for parallel loop
2774
2775static OmpClauseSet allowedClauses_OMPD_parallel_loop {
2776 Clause::OMPC_allocate,
2777 Clause::OMPC_copyin,
2778 Clause::OMPC_firstprivate,
2779 Clause::OMPC_if,
2780 Clause::OMPC_lastprivate,
2781 Clause::OMPC_ompx_attribute,
2782 Clause::OMPC_private,
2783 Clause::OMPC_reduction,
2784 Clause::OMPC_shared,
2785};
2786
2787static OmpClauseSet allowedOnceClauses_OMPD_parallel_loop {
2788 Clause::OMPC_bind,
2789 Clause::OMPC_collapse,
2790 Clause::OMPC_default,
2791 Clause::OMPC_message,
2792 Clause::OMPC_num_threads,
2793 Clause::OMPC_order,
2794 Clause::OMPC_proc_bind,
2795 Clause::OMPC_severity,
2796};
2797
2798static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_loop {
2799};
2800
2801static OmpClauseSet requiredClauses_OMPD_parallel_loop {
2802};
2803// Sets for target loop
2804
2805static OmpClauseSet allowedClauses_OMPD_target_loop {
2806 Clause::OMPC_allocate,
2807 Clause::OMPC_depend,
2808 Clause::OMPC_dyn_groupprivate,
2809 Clause::OMPC_firstprivate,
2810 Clause::OMPC_if,
2811 Clause::OMPC_is_device_ptr,
2812 Clause::OMPC_has_device_addr,
2813 Clause::OMPC_lastprivate,
2814 Clause::OMPC_map,
2815 Clause::OMPC_private,
2816 Clause::OMPC_reduction,
2817 Clause::OMPC_uses_allocators,
2818 Clause::OMPC_ompx_attribute,
2819 Clause::OMPC_in_reduction,
2820};
2821
2822static OmpClauseSet allowedOnceClauses_OMPD_target_loop {
2823 Clause::OMPC_bind,
2824 Clause::OMPC_collapse,
2825 Clause::OMPC_defaultmap,
2826 Clause::OMPC_device,
2827 Clause::OMPC_nowait,
2828 Clause::OMPC_ompx_dyn_cgroup_mem,
2829 Clause::OMPC_order,
2830 Clause::OMPC_thread_limit,
2831};
2832
2833static OmpClauseSet allowedExclusiveClauses_OMPD_target_loop {
2834};
2835
2836static OmpClauseSet requiredClauses_OMPD_target_loop {
2837};
2838// Sets for target parallel loop
2839
2840static OmpClauseSet allowedClauses_OMPD_target_parallel_loop {
2841 Clause::OMPC_allocate,
2842 Clause::OMPC_depend,
2843 Clause::OMPC_dyn_groupprivate,
2844 Clause::OMPC_firstprivate,
2845 Clause::OMPC_has_device_addr,
2846 Clause::OMPC_if,
2847 Clause::OMPC_is_device_ptr,
2848 Clause::OMPC_lastprivate,
2849 Clause::OMPC_map,
2850 Clause::OMPC_ompx_attribute,
2851 Clause::OMPC_private,
2852 Clause::OMPC_reduction,
2853 Clause::OMPC_shared,
2854 Clause::OMPC_uses_allocators,
2855};
2856
2857static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_loop {
2858 Clause::OMPC_bind,
2859 Clause::OMPC_collapse,
2860 Clause::OMPC_default,
2861 Clause::OMPC_defaultmap,
2862 Clause::OMPC_device,
2863 Clause::OMPC_message,
2864 Clause::OMPC_nowait,
2865 Clause::OMPC_num_threads,
2866 Clause::OMPC_ompx_dyn_cgroup_mem,
2867 Clause::OMPC_order,
2868 Clause::OMPC_proc_bind,
2869 Clause::OMPC_severity,
2870 Clause::OMPC_thread_limit,
2871};
2872
2873static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_loop {
2874};
2875
2876static OmpClauseSet requiredClauses_OMPD_target_parallel_loop {
2877};
2878// Sets for target teams loop
2879
2880static OmpClauseSet allowedClauses_OMPD_target_teams_loop {
2881 Clause::OMPC_allocate,
2882 Clause::OMPC_depend,
2883 Clause::OMPC_dyn_groupprivate,
2884 Clause::OMPC_firstprivate,
2885 Clause::OMPC_has_device_addr,
2886 Clause::OMPC_if,
2887 Clause::OMPC_is_device_ptr,
2888 Clause::OMPC_lastprivate,
2889 Clause::OMPC_map,
2890 Clause::OMPC_ompx_attribute,
2891 Clause::OMPC_private,
2892 Clause::OMPC_reduction,
2893 Clause::OMPC_shared,
2894 Clause::OMPC_uses_allocators,
2895};
2896
2897static OmpClauseSet allowedOnceClauses_OMPD_target_teams_loop {
2898 Clause::OMPC_bind,
2899 Clause::OMPC_collapse,
2900 Clause::OMPC_default,
2901 Clause::OMPC_defaultmap,
2902 Clause::OMPC_device,
2903 Clause::OMPC_nowait,
2904 Clause::OMPC_num_teams,
2905 Clause::OMPC_ompx_dyn_cgroup_mem,
2906 Clause::OMPC_order,
2907 Clause::OMPC_thread_limit,
2908};
2909
2910static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_loop {
2911};
2912
2913static OmpClauseSet requiredClauses_OMPD_target_teams_loop {
2914};
2915// Sets for teams loop
2916
2917static OmpClauseSet allowedClauses_OMPD_teams_loop {
2918 Clause::OMPC_allocate,
2919 Clause::OMPC_dyn_groupprivate,
2920 Clause::OMPC_firstprivate,
2921 Clause::OMPC_if,
2922 Clause::OMPC_lastprivate,
2923 Clause::OMPC_ompx_attribute,
2924 Clause::OMPC_private,
2925 Clause::OMPC_reduction,
2926 Clause::OMPC_shared,
2927};
2928
2929static OmpClauseSet allowedOnceClauses_OMPD_teams_loop {
2930 Clause::OMPC_bind,
2931 Clause::OMPC_collapse,
2932 Clause::OMPC_default,
2933 Clause::OMPC_num_teams,
2934 Clause::OMPC_order,
2935 Clause::OMPC_thread_limit,
2936};
2937
2938static OmpClauseSet allowedExclusiveClauses_OMPD_teams_loop {
2939};
2940
2941static OmpClauseSet requiredClauses_OMPD_teams_loop {
2942};
2943
2944} // namespace llvm::omp
2945
2946#endif // GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2947
2948#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2949#undef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2950
2951{
2952 {llvm::omp::Directive::OMPD_allocate,
2953 {
2954 llvm::omp::allowedClauses_OMPD_allocate,
2955 llvm::omp::allowedOnceClauses_OMPD_allocate,
2956 llvm::omp::allowedExclusiveClauses_OMPD_allocate,
2957 llvm::omp::requiredClauses_OMPD_allocate,
2958 }
2959 },
2960 {llvm::omp::Directive::OMPD_allocators,
2961 {
2962 llvm::omp::allowedClauses_OMPD_allocators,
2963 llvm::omp::allowedOnceClauses_OMPD_allocators,
2964 llvm::omp::allowedExclusiveClauses_OMPD_allocators,
2965 llvm::omp::requiredClauses_OMPD_allocators,
2966 }
2967 },
2968 {llvm::omp::Directive::OMPD_assume,
2969 {
2970 llvm::omp::allowedClauses_OMPD_assume,
2971 llvm::omp::allowedOnceClauses_OMPD_assume,
2972 llvm::omp::allowedExclusiveClauses_OMPD_assume,
2973 llvm::omp::requiredClauses_OMPD_assume,
2974 }
2975 },
2976 {llvm::omp::Directive::OMPD_assumes,
2977 {
2978 llvm::omp::allowedClauses_OMPD_assumes,
2979 llvm::omp::allowedOnceClauses_OMPD_assumes,
2980 llvm::omp::allowedExclusiveClauses_OMPD_assumes,
2981 llvm::omp::requiredClauses_OMPD_assumes,
2982 }
2983 },
2984 {llvm::omp::Directive::OMPD_atomic,
2985 {
2986 llvm::omp::allowedClauses_OMPD_atomic,
2987 llvm::omp::allowedOnceClauses_OMPD_atomic,
2988 llvm::omp::allowedExclusiveClauses_OMPD_atomic,
2989 llvm::omp::requiredClauses_OMPD_atomic,
2990 }
2991 },
2992 {llvm::omp::Directive::OMPD_barrier,
2993 {
2994 llvm::omp::allowedClauses_OMPD_barrier,
2995 llvm::omp::allowedOnceClauses_OMPD_barrier,
2996 llvm::omp::allowedExclusiveClauses_OMPD_barrier,
2997 llvm::omp::requiredClauses_OMPD_barrier,
2998 }
2999 },
3000 {llvm::omp::Directive::OMPD_begin_assumes,
3001 {
3002 llvm::omp::allowedClauses_OMPD_begin_assumes,
3003 llvm::omp::allowedOnceClauses_OMPD_begin_assumes,
3004 llvm::omp::allowedExclusiveClauses_OMPD_begin_assumes,
3005 llvm::omp::requiredClauses_OMPD_begin_assumes,
3006 }
3007 },
3008 {llvm::omp::Directive::OMPD_begin_declare_target,
3009 {
3010 llvm::omp::allowedClauses_OMPD_begin_declare_target,
3011 llvm::omp::allowedOnceClauses_OMPD_begin_declare_target,
3012 llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_target,
3013 llvm::omp::requiredClauses_OMPD_begin_declare_target,
3014 }
3015 },
3016 {llvm::omp::Directive::OMPD_begin_declare_variant,
3017 {
3018 llvm::omp::allowedClauses_OMPD_begin_declare_variant,
3019 llvm::omp::allowedOnceClauses_OMPD_begin_declare_variant,
3020 llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_variant,
3021 llvm::omp::requiredClauses_OMPD_begin_declare_variant,
3022 }
3023 },
3024 {llvm::omp::Directive::OMPD_cancel,
3025 {
3026 llvm::omp::allowedClauses_OMPD_cancel,
3027 llvm::omp::allowedOnceClauses_OMPD_cancel,
3028 llvm::omp::allowedExclusiveClauses_OMPD_cancel,
3029 llvm::omp::requiredClauses_OMPD_cancel,
3030 }
3031 },
3032 {llvm::omp::Directive::OMPD_cancellation_point,
3033 {
3034 llvm::omp::allowedClauses_OMPD_cancellation_point,
3035 llvm::omp::allowedOnceClauses_OMPD_cancellation_point,
3036 llvm::omp::allowedExclusiveClauses_OMPD_cancellation_point,
3037 llvm::omp::requiredClauses_OMPD_cancellation_point,
3038 }
3039 },
3040 {llvm::omp::Directive::OMPD_critical,
3041 {
3042 llvm::omp::allowedClauses_OMPD_critical,
3043 llvm::omp::allowedOnceClauses_OMPD_critical,
3044 llvm::omp::allowedExclusiveClauses_OMPD_critical,
3045 llvm::omp::requiredClauses_OMPD_critical,
3046 }
3047 },
3048 {llvm::omp::Directive::OMPD_declare_induction,
3049 {
3050 llvm::omp::allowedClauses_OMPD_declare_induction,
3051 llvm::omp::allowedOnceClauses_OMPD_declare_induction,
3052 llvm::omp::allowedExclusiveClauses_OMPD_declare_induction,
3053 llvm::omp::requiredClauses_OMPD_declare_induction,
3054 }
3055 },
3056 {llvm::omp::Directive::OMPD_declare_mapper,
3057 {
3058 llvm::omp::allowedClauses_OMPD_declare_mapper,
3059 llvm::omp::allowedOnceClauses_OMPD_declare_mapper,
3060 llvm::omp::allowedExclusiveClauses_OMPD_declare_mapper,
3061 llvm::omp::requiredClauses_OMPD_declare_mapper,
3062 }
3063 },
3064 {llvm::omp::Directive::OMPD_declare_reduction,
3065 {
3066 llvm::omp::allowedClauses_OMPD_declare_reduction,
3067 llvm::omp::allowedOnceClauses_OMPD_declare_reduction,
3068 llvm::omp::allowedExclusiveClauses_OMPD_declare_reduction,
3069 llvm::omp::requiredClauses_OMPD_declare_reduction,
3070 }
3071 },
3072 {llvm::omp::Directive::OMPD_declare_simd,
3073 {
3074 llvm::omp::allowedClauses_OMPD_declare_simd,
3075 llvm::omp::allowedOnceClauses_OMPD_declare_simd,
3076 llvm::omp::allowedExclusiveClauses_OMPD_declare_simd,
3077 llvm::omp::requiredClauses_OMPD_declare_simd,
3078 }
3079 },
3080 {llvm::omp::Directive::OMPD_declare_target,
3081 {
3082 llvm::omp::allowedClauses_OMPD_declare_target,
3083 llvm::omp::allowedOnceClauses_OMPD_declare_target,
3084 llvm::omp::allowedExclusiveClauses_OMPD_declare_target,
3085 llvm::omp::requiredClauses_OMPD_declare_target,
3086 }
3087 },
3088 {llvm::omp::Directive::OMPD_declare_variant,
3089 {
3090 llvm::omp::allowedClauses_OMPD_declare_variant,
3091 llvm::omp::allowedOnceClauses_OMPD_declare_variant,
3092 llvm::omp::allowedExclusiveClauses_OMPD_declare_variant,
3093 llvm::omp::requiredClauses_OMPD_declare_variant,
3094 }
3095 },
3096 {llvm::omp::Directive::OMPD_depobj,
3097 {
3098 llvm::omp::allowedClauses_OMPD_depobj,
3099 llvm::omp::allowedOnceClauses_OMPD_depobj,
3100 llvm::omp::allowedExclusiveClauses_OMPD_depobj,
3101 llvm::omp::requiredClauses_OMPD_depobj,
3102 }
3103 },
3104 {llvm::omp::Directive::OMPD_distribute,
3105 {
3106 llvm::omp::allowedClauses_OMPD_distribute,
3107 llvm::omp::allowedOnceClauses_OMPD_distribute,
3108 llvm::omp::allowedExclusiveClauses_OMPD_distribute,
3109 llvm::omp::requiredClauses_OMPD_distribute,
3110 }
3111 },
3112 {llvm::omp::Directive::OMPD_distribute_parallel_do,
3113 {
3114 llvm::omp::allowedClauses_OMPD_distribute_parallel_do,
3115 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do,
3116 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do,
3117 llvm::omp::requiredClauses_OMPD_distribute_parallel_do,
3118 }
3119 },
3120 {llvm::omp::Directive::OMPD_distribute_parallel_do_simd,
3121 {
3122 llvm::omp::allowedClauses_OMPD_distribute_parallel_do_simd,
3123 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do_simd,
3124 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do_simd,
3125 llvm::omp::requiredClauses_OMPD_distribute_parallel_do_simd,
3126 }
3127 },
3128 {llvm::omp::Directive::OMPD_distribute_parallel_for,
3129 {
3130 llvm::omp::allowedClauses_OMPD_distribute_parallel_for,
3131 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for,
3132 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for,
3133 llvm::omp::requiredClauses_OMPD_distribute_parallel_for,
3134 }
3135 },
3136 {llvm::omp::Directive::OMPD_distribute_parallel_for_simd,
3137 {
3138 llvm::omp::allowedClauses_OMPD_distribute_parallel_for_simd,
3139 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for_simd,
3140 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for_simd,
3141 llvm::omp::requiredClauses_OMPD_distribute_parallel_for_simd,
3142 }
3143 },
3144 {llvm::omp::Directive::OMPD_distribute_simd,
3145 {
3146 llvm::omp::allowedClauses_OMPD_distribute_simd,
3147 llvm::omp::allowedOnceClauses_OMPD_distribute_simd,
3148 llvm::omp::allowedExclusiveClauses_OMPD_distribute_simd,
3149 llvm::omp::requiredClauses_OMPD_distribute_simd,
3150 }
3151 },
3152 {llvm::omp::Directive::OMPD_do,
3153 {
3154 llvm::omp::allowedClauses_OMPD_do,
3155 llvm::omp::allowedOnceClauses_OMPD_do,
3156 llvm::omp::allowedExclusiveClauses_OMPD_do,
3157 llvm::omp::requiredClauses_OMPD_do,
3158 }
3159 },
3160 {llvm::omp::Directive::OMPD_do_simd,
3161 {
3162 llvm::omp::allowedClauses_OMPD_do_simd,
3163 llvm::omp::allowedOnceClauses_OMPD_do_simd,
3164 llvm::omp::allowedExclusiveClauses_OMPD_do_simd,
3165 llvm::omp::requiredClauses_OMPD_do_simd,
3166 }
3167 },
3168 {llvm::omp::Directive::OMPD_end_assumes,
3169 {
3170 llvm::omp::allowedClauses_OMPD_end_assumes,
3171 llvm::omp::allowedOnceClauses_OMPD_end_assumes,
3172 llvm::omp::allowedExclusiveClauses_OMPD_end_assumes,
3173 llvm::omp::requiredClauses_OMPD_end_assumes,
3174 }
3175 },
3176 {llvm::omp::Directive::OMPD_end_declare_target,
3177 {
3178 llvm::omp::allowedClauses_OMPD_end_declare_target,
3179 llvm::omp::allowedOnceClauses_OMPD_end_declare_target,
3180 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_target,
3181 llvm::omp::requiredClauses_OMPD_end_declare_target,
3182 }
3183 },
3184 {llvm::omp::Directive::OMPD_end_declare_variant,
3185 {
3186 llvm::omp::allowedClauses_OMPD_end_declare_variant,
3187 llvm::omp::allowedOnceClauses_OMPD_end_declare_variant,
3188 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_variant,
3189 llvm::omp::requiredClauses_OMPD_end_declare_variant,
3190 }
3191 },
3192 {llvm::omp::Directive::OMPD_error,
3193 {
3194 llvm::omp::allowedClauses_OMPD_error,
3195 llvm::omp::allowedOnceClauses_OMPD_error,
3196 llvm::omp::allowedExclusiveClauses_OMPD_error,
3197 llvm::omp::requiredClauses_OMPD_error,
3198 }
3199 },
3200 {llvm::omp::Directive::OMPD_flatten,
3201 {
3202 llvm::omp::allowedClauses_OMPD_flatten,
3203 llvm::omp::allowedOnceClauses_OMPD_flatten,
3204 llvm::omp::allowedExclusiveClauses_OMPD_flatten,
3205 llvm::omp::requiredClauses_OMPD_flatten,
3206 }
3207 },
3208 {llvm::omp::Directive::OMPD_flush,
3209 {
3210 llvm::omp::allowedClauses_OMPD_flush,
3211 llvm::omp::allowedOnceClauses_OMPD_flush,
3212 llvm::omp::allowedExclusiveClauses_OMPD_flush,
3213 llvm::omp::requiredClauses_OMPD_flush,
3214 }
3215 },
3216 {llvm::omp::Directive::OMPD_for,
3217 {
3218 llvm::omp::allowedClauses_OMPD_for,
3219 llvm::omp::allowedOnceClauses_OMPD_for,
3220 llvm::omp::allowedExclusiveClauses_OMPD_for,
3221 llvm::omp::requiredClauses_OMPD_for,
3222 }
3223 },
3224 {llvm::omp::Directive::OMPD_for_simd,
3225 {
3226 llvm::omp::allowedClauses_OMPD_for_simd,
3227 llvm::omp::allowedOnceClauses_OMPD_for_simd,
3228 llvm::omp::allowedExclusiveClauses_OMPD_for_simd,
3229 llvm::omp::requiredClauses_OMPD_for_simd,
3230 }
3231 },
3232 {llvm::omp::Directive::OMPD_fuse,
3233 {
3234 llvm::omp::allowedClauses_OMPD_fuse,
3235 llvm::omp::allowedOnceClauses_OMPD_fuse,
3236 llvm::omp::allowedExclusiveClauses_OMPD_fuse,
3237 llvm::omp::requiredClauses_OMPD_fuse,
3238 }
3239 },
3240 {llvm::omp::Directive::OMPD_groupprivate,
3241 {
3242 llvm::omp::allowedClauses_OMPD_groupprivate,
3243 llvm::omp::allowedOnceClauses_OMPD_groupprivate,
3244 llvm::omp::allowedExclusiveClauses_OMPD_groupprivate,
3245 llvm::omp::requiredClauses_OMPD_groupprivate,
3246 }
3247 },
3248 {llvm::omp::Directive::OMPD_interchange,
3249 {
3250 llvm::omp::allowedClauses_OMPD_interchange,
3251 llvm::omp::allowedOnceClauses_OMPD_interchange,
3252 llvm::omp::allowedExclusiveClauses_OMPD_interchange,
3253 llvm::omp::requiredClauses_OMPD_interchange,
3254 }
3255 },
3256 {llvm::omp::Directive::OMPD_masked_taskloop,
3257 {
3258 llvm::omp::allowedClauses_OMPD_masked_taskloop,
3259 llvm::omp::allowedOnceClauses_OMPD_masked_taskloop,
3260 llvm::omp::allowedExclusiveClauses_OMPD_masked_taskloop,
3261 llvm::omp::requiredClauses_OMPD_masked_taskloop,
3262 }
3263 },
3264 {llvm::omp::Directive::OMPD_masked_taskloop_simd,
3265 {
3266 llvm::omp::allowedClauses_OMPD_masked_taskloop_simd,
3267 llvm::omp::allowedOnceClauses_OMPD_masked_taskloop_simd,
3268 llvm::omp::allowedExclusiveClauses_OMPD_masked_taskloop_simd,
3269 llvm::omp::requiredClauses_OMPD_masked_taskloop_simd,
3270 }
3271 },
3272 {llvm::omp::Directive::OMPD_master,
3273 {
3274 llvm::omp::allowedClauses_OMPD_master,
3275 llvm::omp::allowedOnceClauses_OMPD_master,
3276 llvm::omp::allowedExclusiveClauses_OMPD_master,
3277 llvm::omp::requiredClauses_OMPD_master,
3278 }
3279 },
3280 {llvm::omp::Directive::OMPD_master_taskloop,
3281 {
3282 llvm::omp::allowedClauses_OMPD_master_taskloop,
3283 llvm::omp::allowedOnceClauses_OMPD_master_taskloop,
3284 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop,
3285 llvm::omp::requiredClauses_OMPD_master_taskloop,
3286 }
3287 },
3288 {llvm::omp::Directive::OMPD_master_taskloop_simd,
3289 {
3290 llvm::omp::allowedClauses_OMPD_master_taskloop_simd,
3291 llvm::omp::allowedOnceClauses_OMPD_master_taskloop_simd,
3292 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop_simd,
3293 llvm::omp::requiredClauses_OMPD_master_taskloop_simd,
3294 }
3295 },
3296 {llvm::omp::Directive::OMPD_metadirective,
3297 {
3298 llvm::omp::allowedClauses_OMPD_metadirective,
3299 llvm::omp::allowedOnceClauses_OMPD_metadirective,
3300 llvm::omp::allowedExclusiveClauses_OMPD_metadirective,
3301 llvm::omp::requiredClauses_OMPD_metadirective,
3302 }
3303 },
3304 {llvm::omp::Directive::OMPD_nothing,
3305 {
3306 llvm::omp::allowedClauses_OMPD_nothing,
3307 llvm::omp::allowedOnceClauses_OMPD_nothing,
3308 llvm::omp::allowedExclusiveClauses_OMPD_nothing,
3309 llvm::omp::requiredClauses_OMPD_nothing,
3310 }
3311 },
3312 {llvm::omp::Directive::OMPD_ordered,
3313 {
3314 llvm::omp::allowedClauses_OMPD_ordered,
3315 llvm::omp::allowedOnceClauses_OMPD_ordered,
3316 llvm::omp::allowedExclusiveClauses_OMPD_ordered,
3317 llvm::omp::requiredClauses_OMPD_ordered,
3318 }
3319 },
3320 {llvm::omp::Directive::OMPD_parallel,
3321 {
3322 llvm::omp::allowedClauses_OMPD_parallel,
3323 llvm::omp::allowedOnceClauses_OMPD_parallel,
3324 llvm::omp::allowedExclusiveClauses_OMPD_parallel,
3325 llvm::omp::requiredClauses_OMPD_parallel,
3326 }
3327 },
3328 {llvm::omp::Directive::OMPD_parallel_do,
3329 {
3330 llvm::omp::allowedClauses_OMPD_parallel_do,
3331 llvm::omp::allowedOnceClauses_OMPD_parallel_do,
3332 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do,
3333 llvm::omp::requiredClauses_OMPD_parallel_do,
3334 }
3335 },
3336 {llvm::omp::Directive::OMPD_parallel_do_simd,
3337 {
3338 llvm::omp::allowedClauses_OMPD_parallel_do_simd,
3339 llvm::omp::allowedOnceClauses_OMPD_parallel_do_simd,
3340 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do_simd,
3341 llvm::omp::requiredClauses_OMPD_parallel_do_simd,
3342 }
3343 },
3344 {llvm::omp::Directive::OMPD_parallel_for,
3345 {
3346 llvm::omp::allowedClauses_OMPD_parallel_for,
3347 llvm::omp::allowedOnceClauses_OMPD_parallel_for,
3348 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for,
3349 llvm::omp::requiredClauses_OMPD_parallel_for,
3350 }
3351 },
3352 {llvm::omp::Directive::OMPD_parallel_for_simd,
3353 {
3354 llvm::omp::allowedClauses_OMPD_parallel_for_simd,
3355 llvm::omp::allowedOnceClauses_OMPD_parallel_for_simd,
3356 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for_simd,
3357 llvm::omp::requiredClauses_OMPD_parallel_for_simd,
3358 }
3359 },
3360 {llvm::omp::Directive::OMPD_parallel_masked,
3361 {
3362 llvm::omp::allowedClauses_OMPD_parallel_masked,
3363 llvm::omp::allowedOnceClauses_OMPD_parallel_masked,
3364 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked,
3365 llvm::omp::requiredClauses_OMPD_parallel_masked,
3366 }
3367 },
3368 {llvm::omp::Directive::OMPD_parallel_masked_taskloop,
3369 {
3370 llvm::omp::allowedClauses_OMPD_parallel_masked_taskloop,
3371 llvm::omp::allowedOnceClauses_OMPD_parallel_masked_taskloop,
3372 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked_taskloop,
3373 llvm::omp::requiredClauses_OMPD_parallel_masked_taskloop,
3374 }
3375 },
3376 {llvm::omp::Directive::OMPD_parallel_masked_taskloop_simd,
3377 {
3378 llvm::omp::allowedClauses_OMPD_parallel_masked_taskloop_simd,
3379 llvm::omp::allowedOnceClauses_OMPD_parallel_masked_taskloop_simd,
3380 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked_taskloop_simd,
3381 llvm::omp::requiredClauses_OMPD_parallel_masked_taskloop_simd,
3382 }
3383 },
3384 {llvm::omp::Directive::OMPD_parallel_master,
3385 {
3386 llvm::omp::allowedClauses_OMPD_parallel_master,
3387 llvm::omp::allowedOnceClauses_OMPD_parallel_master,
3388 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master,
3389 llvm::omp::requiredClauses_OMPD_parallel_master,
3390 }
3391 },
3392 {llvm::omp::Directive::OMPD_parallel_master_taskloop,
3393 {
3394 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop,
3395 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop,
3396 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop,
3397 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop,
3398 }
3399 },
3400 {llvm::omp::Directive::OMPD_parallel_master_taskloop_simd,
3401 {
3402 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop_simd,
3403 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop_simd,
3404 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd,
3405 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop_simd,
3406 }
3407 },
3408 {llvm::omp::Directive::OMPD_parallel_sections,
3409 {
3410 llvm::omp::allowedClauses_OMPD_parallel_sections,
3411 llvm::omp::allowedOnceClauses_OMPD_parallel_sections,
3412 llvm::omp::allowedExclusiveClauses_OMPD_parallel_sections,
3413 llvm::omp::requiredClauses_OMPD_parallel_sections,
3414 }
3415 },
3416 {llvm::omp::Directive::OMPD_parallel_workshare,
3417 {
3418 llvm::omp::allowedClauses_OMPD_parallel_workshare,
3419 llvm::omp::allowedOnceClauses_OMPD_parallel_workshare,
3420 llvm::omp::allowedExclusiveClauses_OMPD_parallel_workshare,
3421 llvm::omp::requiredClauses_OMPD_parallel_workshare,
3422 }
3423 },
3424 {llvm::omp::Directive::OMPD_requires,
3425 {
3426 llvm::omp::allowedClauses_OMPD_requires,
3427 llvm::omp::allowedOnceClauses_OMPD_requires,
3428 llvm::omp::allowedExclusiveClauses_OMPD_requires,
3429 llvm::omp::requiredClauses_OMPD_requires,
3430 }
3431 },
3432 {llvm::omp::Directive::OMPD_reverse,
3433 {
3434 llvm::omp::allowedClauses_OMPD_reverse,
3435 llvm::omp::allowedOnceClauses_OMPD_reverse,
3436 llvm::omp::allowedExclusiveClauses_OMPD_reverse,
3437 llvm::omp::requiredClauses_OMPD_reverse,
3438 }
3439 },
3440 {llvm::omp::Directive::OMPD_scan,
3441 {
3442 llvm::omp::allowedClauses_OMPD_scan,
3443 llvm::omp::allowedOnceClauses_OMPD_scan,
3444 llvm::omp::allowedExclusiveClauses_OMPD_scan,
3445 llvm::omp::requiredClauses_OMPD_scan,
3446 }
3447 },
3448 {llvm::omp::Directive::OMPD_scope,
3449 {
3450 llvm::omp::allowedClauses_OMPD_scope,
3451 llvm::omp::allowedOnceClauses_OMPD_scope,
3452 llvm::omp::allowedExclusiveClauses_OMPD_scope,
3453 llvm::omp::requiredClauses_OMPD_scope,
3454 }
3455 },
3456 {llvm::omp::Directive::OMPD_section,
3457 {
3458 llvm::omp::allowedClauses_OMPD_section,
3459 llvm::omp::allowedOnceClauses_OMPD_section,
3460 llvm::omp::allowedExclusiveClauses_OMPD_section,
3461 llvm::omp::requiredClauses_OMPD_section,
3462 }
3463 },
3464 {llvm::omp::Directive::OMPD_sections,
3465 {
3466 llvm::omp::allowedClauses_OMPD_sections,
3467 llvm::omp::allowedOnceClauses_OMPD_sections,
3468 llvm::omp::allowedExclusiveClauses_OMPD_sections,
3469 llvm::omp::requiredClauses_OMPD_sections,
3470 }
3471 },
3472 {llvm::omp::Directive::OMPD_simd,
3473 {
3474 llvm::omp::allowedClauses_OMPD_simd,
3475 llvm::omp::allowedOnceClauses_OMPD_simd,
3476 llvm::omp::allowedExclusiveClauses_OMPD_simd,
3477 llvm::omp::requiredClauses_OMPD_simd,
3478 }
3479 },
3480 {llvm::omp::Directive::OMPD_single,
3481 {
3482 llvm::omp::allowedClauses_OMPD_single,
3483 llvm::omp::allowedOnceClauses_OMPD_single,
3484 llvm::omp::allowedExclusiveClauses_OMPD_single,
3485 llvm::omp::requiredClauses_OMPD_single,
3486 }
3487 },
3488 {llvm::omp::Directive::OMPD_split,
3489 {
3490 llvm::omp::allowedClauses_OMPD_split,
3491 llvm::omp::allowedOnceClauses_OMPD_split,
3492 llvm::omp::allowedExclusiveClauses_OMPD_split,
3493 llvm::omp::requiredClauses_OMPD_split,
3494 }
3495 },
3496 {llvm::omp::Directive::OMPD_stripe,
3497 {
3498 llvm::omp::allowedClauses_OMPD_stripe,
3499 llvm::omp::allowedOnceClauses_OMPD_stripe,
3500 llvm::omp::allowedExclusiveClauses_OMPD_stripe,
3501 llvm::omp::requiredClauses_OMPD_stripe,
3502 }
3503 },
3504 {llvm::omp::Directive::OMPD_target,
3505 {
3506 llvm::omp::allowedClauses_OMPD_target,
3507 llvm::omp::allowedOnceClauses_OMPD_target,
3508 llvm::omp::allowedExclusiveClauses_OMPD_target,
3509 llvm::omp::requiredClauses_OMPD_target,
3510 }
3511 },
3512 {llvm::omp::Directive::OMPD_target_data,
3513 {
3514 llvm::omp::allowedClauses_OMPD_target_data,
3515 llvm::omp::allowedOnceClauses_OMPD_target_data,
3516 llvm::omp::allowedExclusiveClauses_OMPD_target_data,
3517 llvm::omp::requiredClauses_OMPD_target_data,
3518 }
3519 },
3520 {llvm::omp::Directive::OMPD_target_enter_data,
3521 {
3522 llvm::omp::allowedClauses_OMPD_target_enter_data,
3523 llvm::omp::allowedOnceClauses_OMPD_target_enter_data,
3524 llvm::omp::allowedExclusiveClauses_OMPD_target_enter_data,
3525 llvm::omp::requiredClauses_OMPD_target_enter_data,
3526 }
3527 },
3528 {llvm::omp::Directive::OMPD_target_exit_data,
3529 {
3530 llvm::omp::allowedClauses_OMPD_target_exit_data,
3531 llvm::omp::allowedOnceClauses_OMPD_target_exit_data,
3532 llvm::omp::allowedExclusiveClauses_OMPD_target_exit_data,
3533 llvm::omp::requiredClauses_OMPD_target_exit_data,
3534 }
3535 },
3536 {llvm::omp::Directive::OMPD_target_parallel,
3537 {
3538 llvm::omp::allowedClauses_OMPD_target_parallel,
3539 llvm::omp::allowedOnceClauses_OMPD_target_parallel,
3540 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel,
3541 llvm::omp::requiredClauses_OMPD_target_parallel,
3542 }
3543 },
3544 {llvm::omp::Directive::OMPD_target_parallel_do,
3545 {
3546 llvm::omp::allowedClauses_OMPD_target_parallel_do,
3547 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do,
3548 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do,
3549 llvm::omp::requiredClauses_OMPD_target_parallel_do,
3550 }
3551 },
3552 {llvm::omp::Directive::OMPD_target_parallel_do_simd,
3553 {
3554 llvm::omp::allowedClauses_OMPD_target_parallel_do_simd,
3555 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do_simd,
3556 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do_simd,
3557 llvm::omp::requiredClauses_OMPD_target_parallel_do_simd,
3558 }
3559 },
3560 {llvm::omp::Directive::OMPD_target_parallel_for,
3561 {
3562 llvm::omp::allowedClauses_OMPD_target_parallel_for,
3563 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for,
3564 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for,
3565 llvm::omp::requiredClauses_OMPD_target_parallel_for,
3566 }
3567 },
3568 {llvm::omp::Directive::OMPD_target_parallel_for_simd,
3569 {
3570 llvm::omp::allowedClauses_OMPD_target_parallel_for_simd,
3571 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for_simd,
3572 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for_simd,
3573 llvm::omp::requiredClauses_OMPD_target_parallel_for_simd,
3574 }
3575 },
3576 {llvm::omp::Directive::OMPD_target_simd,
3577 {
3578 llvm::omp::allowedClauses_OMPD_target_simd,
3579 llvm::omp::allowedOnceClauses_OMPD_target_simd,
3580 llvm::omp::allowedExclusiveClauses_OMPD_target_simd,
3581 llvm::omp::requiredClauses_OMPD_target_simd,
3582 }
3583 },
3584 {llvm::omp::Directive::OMPD_target_teams,
3585 {
3586 llvm::omp::allowedClauses_OMPD_target_teams,
3587 llvm::omp::allowedOnceClauses_OMPD_target_teams,
3588 llvm::omp::allowedExclusiveClauses_OMPD_target_teams,
3589 llvm::omp::requiredClauses_OMPD_target_teams,
3590 }
3591 },
3592 {llvm::omp::Directive::OMPD_target_teams_distribute,
3593 {
3594 llvm::omp::allowedClauses_OMPD_target_teams_distribute,
3595 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute,
3596 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute,
3597 llvm::omp::requiredClauses_OMPD_target_teams_distribute,
3598 }
3599 },
3600 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do,
3601 {
3602 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do,
3603 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do,
3604 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do,
3605 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do,
3606 }
3607 },
3608 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd,
3609 {
3610 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do_simd,
3611 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd,
3612 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd,
3613 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do_simd,
3614 }
3615 },
3616 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for,
3617 {
3618 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for,
3619 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for,
3620 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for,
3621 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for,
3622 }
3623 },
3624 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd,
3625 {
3626 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for_simd,
3627 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd,
3628 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd,
3629 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for_simd,
3630 }
3631 },
3632 {llvm::omp::Directive::OMPD_target_teams_distribute_simd,
3633 {
3634 llvm::omp::allowedClauses_OMPD_target_teams_distribute_simd,
3635 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_simd,
3636 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_simd,
3637 llvm::omp::requiredClauses_OMPD_target_teams_distribute_simd,
3638 }
3639 },
3640 {llvm::omp::Directive::OMPD_target_teams_workdistribute,
3641 {
3642 llvm::omp::allowedClauses_OMPD_target_teams_workdistribute,
3643 llvm::omp::allowedOnceClauses_OMPD_target_teams_workdistribute,
3644 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_workdistribute,
3645 llvm::omp::requiredClauses_OMPD_target_teams_workdistribute,
3646 }
3647 },
3648 {llvm::omp::Directive::OMPD_target_update,
3649 {
3650 llvm::omp::allowedClauses_OMPD_target_update,
3651 llvm::omp::allowedOnceClauses_OMPD_target_update,
3652 llvm::omp::allowedExclusiveClauses_OMPD_target_update,
3653 llvm::omp::requiredClauses_OMPD_target_update,
3654 }
3655 },
3656 {llvm::omp::Directive::OMPD_task,
3657 {
3658 llvm::omp::allowedClauses_OMPD_task,
3659 llvm::omp::allowedOnceClauses_OMPD_task,
3660 llvm::omp::allowedExclusiveClauses_OMPD_task,
3661 llvm::omp::requiredClauses_OMPD_task,
3662 }
3663 },
3664 {llvm::omp::Directive::OMPD_taskgroup,
3665 {
3666 llvm::omp::allowedClauses_OMPD_taskgroup,
3667 llvm::omp::allowedOnceClauses_OMPD_taskgroup,
3668 llvm::omp::allowedExclusiveClauses_OMPD_taskgroup,
3669 llvm::omp::requiredClauses_OMPD_taskgroup,
3670 }
3671 },
3672 {llvm::omp::Directive::OMPD_taskloop,
3673 {
3674 llvm::omp::allowedClauses_OMPD_taskloop,
3675 llvm::omp::allowedOnceClauses_OMPD_taskloop,
3676 llvm::omp::allowedExclusiveClauses_OMPD_taskloop,
3677 llvm::omp::requiredClauses_OMPD_taskloop,
3678 }
3679 },
3680 {llvm::omp::Directive::OMPD_taskloop_simd,
3681 {
3682 llvm::omp::allowedClauses_OMPD_taskloop_simd,
3683 llvm::omp::allowedOnceClauses_OMPD_taskloop_simd,
3684 llvm::omp::allowedExclusiveClauses_OMPD_taskloop_simd,
3685 llvm::omp::requiredClauses_OMPD_taskloop_simd,
3686 }
3687 },
3688 {llvm::omp::Directive::OMPD_taskwait,
3689 {
3690 llvm::omp::allowedClauses_OMPD_taskwait,
3691 llvm::omp::allowedOnceClauses_OMPD_taskwait,
3692 llvm::omp::allowedExclusiveClauses_OMPD_taskwait,
3693 llvm::omp::requiredClauses_OMPD_taskwait,
3694 }
3695 },
3696 {llvm::omp::Directive::OMPD_taskyield,
3697 {
3698 llvm::omp::allowedClauses_OMPD_taskyield,
3699 llvm::omp::allowedOnceClauses_OMPD_taskyield,
3700 llvm::omp::allowedExclusiveClauses_OMPD_taskyield,
3701 llvm::omp::requiredClauses_OMPD_taskyield,
3702 }
3703 },
3704 {llvm::omp::Directive::OMPD_taskgraph,
3705 {
3706 llvm::omp::allowedClauses_OMPD_taskgraph,
3707 llvm::omp::allowedOnceClauses_OMPD_taskgraph,
3708 llvm::omp::allowedExclusiveClauses_OMPD_taskgraph,
3709 llvm::omp::requiredClauses_OMPD_taskgraph,
3710 }
3711 },
3712 {llvm::omp::Directive::OMPD_teams,
3713 {
3714 llvm::omp::allowedClauses_OMPD_teams,
3715 llvm::omp::allowedOnceClauses_OMPD_teams,
3716 llvm::omp::allowedExclusiveClauses_OMPD_teams,
3717 llvm::omp::requiredClauses_OMPD_teams,
3718 }
3719 },
3720 {llvm::omp::Directive::OMPD_teams_distribute,
3721 {
3722 llvm::omp::allowedClauses_OMPD_teams_distribute,
3723 llvm::omp::allowedOnceClauses_OMPD_teams_distribute,
3724 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute,
3725 llvm::omp::requiredClauses_OMPD_teams_distribute,
3726 }
3727 },
3728 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do,
3729 {
3730 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do,
3731 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do,
3732 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do,
3733 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do,
3734 }
3735 },
3736 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd,
3737 {
3738 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do_simd,
3739 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd,
3740 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd,
3741 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do_simd,
3742 }
3743 },
3744 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for,
3745 {
3746 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for,
3747 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for,
3748 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for,
3749 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for,
3750 }
3751 },
3752 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd,
3753 {
3754 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for_simd,
3755 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd,
3756 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd,
3757 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for_simd,
3758 }
3759 },
3760 {llvm::omp::Directive::OMPD_teams_distribute_simd,
3761 {
3762 llvm::omp::allowedClauses_OMPD_teams_distribute_simd,
3763 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_simd,
3764 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_simd,
3765 llvm::omp::requiredClauses_OMPD_teams_distribute_simd,
3766 }
3767 },
3768 {llvm::omp::Directive::OMPD_teams_workdistribute,
3769 {
3770 llvm::omp::allowedClauses_OMPD_teams_workdistribute,
3771 llvm::omp::allowedOnceClauses_OMPD_teams_workdistribute,
3772 llvm::omp::allowedExclusiveClauses_OMPD_teams_workdistribute,
3773 llvm::omp::requiredClauses_OMPD_teams_workdistribute,
3774 }
3775 },
3776 {llvm::omp::Directive::OMPD_threadprivate,
3777 {
3778 llvm::omp::allowedClauses_OMPD_threadprivate,
3779 llvm::omp::allowedOnceClauses_OMPD_threadprivate,
3780 llvm::omp::allowedExclusiveClauses_OMPD_threadprivate,
3781 llvm::omp::requiredClauses_OMPD_threadprivate,
3782 }
3783 },
3784 {llvm::omp::Directive::OMPD_tile,
3785 {
3786 llvm::omp::allowedClauses_OMPD_tile,
3787 llvm::omp::allowedOnceClauses_OMPD_tile,
3788 llvm::omp::allowedExclusiveClauses_OMPD_tile,
3789 llvm::omp::requiredClauses_OMPD_tile,
3790 }
3791 },
3792 {llvm::omp::Directive::OMPD_unknown,
3793 {
3794 llvm::omp::allowedClauses_OMPD_unknown,
3795 llvm::omp::allowedOnceClauses_OMPD_unknown,
3796 llvm::omp::allowedExclusiveClauses_OMPD_unknown,
3797 llvm::omp::requiredClauses_OMPD_unknown,
3798 }
3799 },
3800 {llvm::omp::Directive::OMPD_unroll,
3801 {
3802 llvm::omp::allowedClauses_OMPD_unroll,
3803 llvm::omp::allowedOnceClauses_OMPD_unroll,
3804 llvm::omp::allowedExclusiveClauses_OMPD_unroll,
3805 llvm::omp::requiredClauses_OMPD_unroll,
3806 }
3807 },
3808 {llvm::omp::Directive::OMPD_workdistribute,
3809 {
3810 llvm::omp::allowedClauses_OMPD_workdistribute,
3811 llvm::omp::allowedOnceClauses_OMPD_workdistribute,
3812 llvm::omp::allowedExclusiveClauses_OMPD_workdistribute,
3813 llvm::omp::requiredClauses_OMPD_workdistribute,
3814 }
3815 },
3816 {llvm::omp::Directive::OMPD_workshare,
3817 {
3818 llvm::omp::allowedClauses_OMPD_workshare,
3819 llvm::omp::allowedOnceClauses_OMPD_workshare,
3820 llvm::omp::allowedExclusiveClauses_OMPD_workshare,
3821 llvm::omp::requiredClauses_OMPD_workshare,
3822 }
3823 },
3824 {llvm::omp::Directive::OMPD_dispatch,
3825 {
3826 llvm::omp::allowedClauses_OMPD_dispatch,
3827 llvm::omp::allowedOnceClauses_OMPD_dispatch,
3828 llvm::omp::allowedExclusiveClauses_OMPD_dispatch,
3829 llvm::omp::requiredClauses_OMPD_dispatch,
3830 }
3831 },
3832 {llvm::omp::Directive::OMPD_interop,
3833 {
3834 llvm::omp::allowedClauses_OMPD_interop,
3835 llvm::omp::allowedOnceClauses_OMPD_interop,
3836 llvm::omp::allowedExclusiveClauses_OMPD_interop,
3837 llvm::omp::requiredClauses_OMPD_interop,
3838 }
3839 },
3840 {llvm::omp::Directive::OMPD_loop,
3841 {
3842 llvm::omp::allowedClauses_OMPD_loop,
3843 llvm::omp::allowedOnceClauses_OMPD_loop,
3844 llvm::omp::allowedExclusiveClauses_OMPD_loop,
3845 llvm::omp::requiredClauses_OMPD_loop,
3846 }
3847 },
3848 {llvm::omp::Directive::OMPD_masked,
3849 {
3850 llvm::omp::allowedClauses_OMPD_masked,
3851 llvm::omp::allowedOnceClauses_OMPD_masked,
3852 llvm::omp::allowedExclusiveClauses_OMPD_masked,
3853 llvm::omp::requiredClauses_OMPD_masked,
3854 }
3855 },
3856 {llvm::omp::Directive::OMPD_parallel_loop,
3857 {
3858 llvm::omp::allowedClauses_OMPD_parallel_loop,
3859 llvm::omp::allowedOnceClauses_OMPD_parallel_loop,
3860 llvm::omp::allowedExclusiveClauses_OMPD_parallel_loop,
3861 llvm::omp::requiredClauses_OMPD_parallel_loop,
3862 }
3863 },
3864 {llvm::omp::Directive::OMPD_target_loop,
3865 {
3866 llvm::omp::allowedClauses_OMPD_target_loop,
3867 llvm::omp::allowedOnceClauses_OMPD_target_loop,
3868 llvm::omp::allowedExclusiveClauses_OMPD_target_loop,
3869 llvm::omp::requiredClauses_OMPD_target_loop,
3870 }
3871 },
3872 {llvm::omp::Directive::OMPD_target_parallel_loop,
3873 {
3874 llvm::omp::allowedClauses_OMPD_target_parallel_loop,
3875 llvm::omp::allowedOnceClauses_OMPD_target_parallel_loop,
3876 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_loop,
3877 llvm::omp::requiredClauses_OMPD_target_parallel_loop,
3878 }
3879 },
3880 {llvm::omp::Directive::OMPD_target_teams_loop,
3881 {
3882 llvm::omp::allowedClauses_OMPD_target_teams_loop,
3883 llvm::omp::allowedOnceClauses_OMPD_target_teams_loop,
3884 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_loop,
3885 llvm::omp::requiredClauses_OMPD_target_teams_loop,
3886 }
3887 },
3888 {llvm::omp::Directive::OMPD_teams_loop,
3889 {
3890 llvm::omp::allowedClauses_OMPD_teams_loop,
3891 llvm::omp::allowedOnceClauses_OMPD_teams_loop,
3892 llvm::omp::allowedExclusiveClauses_OMPD_teams_loop,
3893 llvm::omp::requiredClauses_OMPD_teams_loop,
3894 }
3895 },
3896}
3897
3898#endif // GEN_FLANG_DIRECTIVE_CLAUSE_MAP
3899
3900#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES
3901#undef GEN_FLANG_CLAUSE_PARSER_CLASSES
3902
3903WRAPPER_CLASS(Absent, OmpAbsentClause);
3904EMPTY_CLASS(AcqRel);
3905EMPTY_CLASS(Acquire);
3906WRAPPER_CLASS(AdjustArgs, OmpAdjustArgsClause);
3907WRAPPER_CLASS(Affinity, OmpAffinityClause);
3908WRAPPER_CLASS(Align, OmpAlignClause);
3909WRAPPER_CLASS(Aligned, OmpAlignedClause);
3910WRAPPER_CLASS(Allocate, OmpAllocateClause);
3911WRAPPER_CLASS(Allocator, ScalarIntExpr);
3912WRAPPER_CLASS(AppendArgs, OmpAppendArgsClause);
3913EMPTY_CLASS(Apply);
3914WRAPPER_CLASS(At, OmpAtClause);
3915WRAPPER_CLASS(AtomicDefaultMemOrder, OmpAtomicDefaultMemOrderClause);
3916WRAPPER_CLASS(Bind, OmpBindClause);
3917WRAPPER_CLASS(CancellationConstructType, OmpCancellationConstructTypeClause);
3918EMPTY_CLASS(Capture);
3919WRAPPER_CLASS(Collapse, ScalarIntConstantExpr);
3920EMPTY_CLASS(Collector);
3921WRAPPER_CLASS(Combiner, OmpCombinerClause);
3922EMPTY_CLASS(Compare);
3923WRAPPER_CLASS(Contains, OmpContainsClause);
3924WRAPPER_CLASS(Copyprivate, OmpObjectList);
3925WRAPPER_CLASS(Copyin, OmpObjectList);
3926EMPTY_CLASS(Counts);
3927WRAPPER_CLASS(Default, OmpDefaultClause);
3928WRAPPER_CLASS(Defaultmap, OmpDefaultmapClause);
3929WRAPPER_CLASS(Depend, OmpDependClause);
3930EMPTY_CLASS(Depobj);
3931WRAPPER_CLASS(Depth, ScalarIntConstantExpr);
3932WRAPPER_CLASS(Destroy, std::optional<OmpDestroyClause>);
3933WRAPPER_CLASS(Detach, OmpDetachClause);
3934WRAPPER_CLASS(Device, OmpDeviceClause);
3935WRAPPER_CLASS(DeviceSafesync, std::optional<OmpDeviceSafesyncClause>);
3936WRAPPER_CLASS(DeviceType, OmpDeviceTypeClause);
3937WRAPPER_CLASS(DistSchedule, std::optional<ScalarIntExpr>);
3938WRAPPER_CLASS(Doacross, OmpDoacrossClause);
3939WRAPPER_CLASS(DynGroupprivate, OmpDynGroupprivateClause);
3940WRAPPER_CLASS(DynamicAllocators, std::optional<OmpDynamicAllocatorsClause>);
3941WRAPPER_CLASS(Enter, OmpEnterClause);
3942WRAPPER_CLASS(Exclusive, OmpObjectList);
3943WRAPPER_CLASS(Fail, OmpFailClause);
3944WRAPPER_CLASS(Filter, ScalarIntExpr);
3945WRAPPER_CLASS(Final, ScalarLogicalExpr);
3946WRAPPER_CLASS(Firstprivate, OmpObjectList);
3947EMPTY_CLASS(Flush);
3948WRAPPER_CLASS(From, OmpFromClause);
3949EMPTY_CLASS(Full);
3950WRAPPER_CLASS(Grainsize, OmpGrainsizeClause);
3951WRAPPER_CLASS(GraphId, OmpGraphIdClause);
3952WRAPPER_CLASS(GraphReset, std::optional<OmpGraphResetClause>);
3953EMPTY_CLASS(Groupprivate);
3954WRAPPER_CLASS(HasDeviceAddr, OmpObjectList);
3955WRAPPER_CLASS(Hint, OmpHintClause);
3956WRAPPER_CLASS(Holds, OmpHoldsClause);
3957WRAPPER_CLASS(If, OmpIfClause);
3958WRAPPER_CLASS(InReduction, OmpInReductionClause);
3959EMPTY_CLASS(Inbranch);
3960WRAPPER_CLASS(Inclusive, OmpObjectList);
3961WRAPPER_CLASS(Indirect, OmpIndirectClause);
3962EMPTY_CLASS(Induction);
3963EMPTY_CLASS(Inductor);
3964WRAPPER_CLASS(Init, OmpInitClause);
3965EMPTY_CLASS(InitComplete);
3966WRAPPER_CLASS(Initializer, OmpInitializerClause);
3967EMPTY_CLASS(Interop);
3968WRAPPER_CLASS(IsDevicePtr, OmpObjectList);
3969WRAPPER_CLASS(Lastprivate, OmpLastprivateClause);
3970WRAPPER_CLASS(Linear, OmpLinearClause);
3971WRAPPER_CLASS(Link, OmpObjectList);
3972EMPTY_CLASS(Local);
3973WRAPPER_CLASS(Looprange, OmpLooprangeClause);
3974WRAPPER_CLASS(Map, OmpMapClause);
3975WRAPPER_CLASS(Match, OmpMatchClause);
3976EMPTY_CLASS(MemoryOrder);
3977EMPTY_CLASS(Memscope);
3978EMPTY_CLASS(Mergeable);
3979WRAPPER_CLASS(Message, OmpMessageClause);
3980EMPTY_CLASS(Nogroup);
3981EMPTY_CLASS(NoOpenmp);
3982EMPTY_CLASS(NoOpenmpConstructs);
3983EMPTY_CLASS(NoOpenmpRoutines);
3984EMPTY_CLASS(NoParallelism);
3985EMPTY_CLASS(Nowait);
3986WRAPPER_CLASS(Nocontext, ScalarLogicalExpr);
3987WRAPPER_CLASS(Nontemporal, OmpObjectList);
3988EMPTY_CLASS(Notinbranch);
3989WRAPPER_CLASS(Novariants, ScalarLogicalExpr);
3990WRAPPER_CLASS(NumTasks, OmpNumTasksClause);
3991WRAPPER_CLASS(NumTeams, OmpNumTeamsClause);
3992WRAPPER_CLASS(NumThreads, OmpNumThreadsClause);
3993EMPTY_CLASS(OmpxAttribute);
3994EMPTY_CLASS(OmpxBare);
3995WRAPPER_CLASS(OmpxDynCgroupMem, ScalarIntExpr);
3996WRAPPER_CLASS(Order, OmpOrderClause);
3997WRAPPER_CLASS(Ordered, std::optional<ScalarIntConstantExpr>);
3998WRAPPER_CLASS(Otherwise, std::optional<OmpOtherwiseClause>);
3999WRAPPER_CLASS(Partial, std::optional<ScalarIntConstantExpr>);
4000WRAPPER_CLASS(Permutation, std::list<ScalarIntConstantExpr>);
4001WRAPPER_CLASS(Priority, ScalarIntExpr);
4002WRAPPER_CLASS(Private, OmpObjectList);
4003WRAPPER_CLASS(ProcBind, OmpProcBindClause);
4004EMPTY_CLASS(Read);
4005WRAPPER_CLASS(Reduction, OmpReductionClause);
4006EMPTY_CLASS(Relaxed);
4007EMPTY_CLASS(Release);
4008WRAPPER_CLASS(Replayable, std::optional<OmpReplayableClause>);
4009WRAPPER_CLASS(ReverseOffload, std::optional<OmpReverseOffloadClause>);
4010WRAPPER_CLASS(Safelen, ScalarIntConstantExpr);
4011EMPTY_CLASS(Safesync);
4012WRAPPER_CLASS(Schedule, OmpScheduleClause);
4013WRAPPER_CLASS(SelfMaps, std::optional<OmpSelfMapsClause>);
4014EMPTY_CLASS(SeqCst);
4015WRAPPER_CLASS(Severity, OmpSeverityClause);
4016WRAPPER_CLASS(Shared, OmpObjectList);
4017EMPTY_CLASS(Simd);
4018WRAPPER_CLASS(Simdlen, ScalarIntConstantExpr);
4019WRAPPER_CLASS(Sizes, std::list<ScalarIntExpr>);
4020WRAPPER_CLASS(TaskReduction, OmpTaskReductionClause);
4021WRAPPER_CLASS(ThreadLimit, OmpThreadLimitClause);
4022EMPTY_CLASS(Threadprivate);
4023EMPTY_CLASS(Threads);
4024WRAPPER_CLASS(Threadset, OmpThreadsetClause);
4025WRAPPER_CLASS(To, OmpToClause);
4026WRAPPER_CLASS(Transparent, std::optional<OmpTransparentClause>);
4027WRAPPER_CLASS(UnifiedAddress, std::optional<OmpUnifiedAddressClause>);
4028WRAPPER_CLASS(UnifiedSharedMemory, std::optional<OmpUnifiedSharedMemoryClause>);
4029WRAPPER_CLASS(Uniform, std::list<Name>);
4030EMPTY_CLASS(Unknown);
4031EMPTY_CLASS(Untied);
4032WRAPPER_CLASS(Update, std::optional<OmpUpdateClause>);
4033WRAPPER_CLASS(Use, OmpUseClause);
4034WRAPPER_CLASS(UseDeviceAddr, OmpObjectList);
4035WRAPPER_CLASS(UseDevicePtr, OmpObjectList);
4036EMPTY_CLASS(UsesAllocators);
4037EMPTY_CLASS(Weak);
4038WRAPPER_CLASS(When, OmpWhenClause);
4039EMPTY_CLASS(Write);
4040
4041#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES
4042
4043#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4044#undef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4045
4046Absent
4047, AcqRel
4048, Acquire
4049, AdjustArgs
4050, Affinity
4051, Align
4052, Aligned
4053, Allocate
4054, Allocator
4055, AppendArgs
4056, Apply
4057, At
4058, AtomicDefaultMemOrder
4059, Bind
4060, CancellationConstructType
4061, Capture
4062, Collapse
4063, Collector
4064, Combiner
4065, Compare
4066, Contains
4067, Copyprivate
4068, Copyin
4069, Counts
4070, Default
4071, Defaultmap
4072, Depend
4073, Depobj
4074, Depth
4075, Destroy
4076, Detach
4077, Device
4078, DeviceSafesync
4079, DeviceType
4080, DistSchedule
4081, Doacross
4082, DynGroupprivate
4083, DynamicAllocators
4084, Enter
4085, Exclusive
4086, Fail
4087, Filter
4088, Final
4089, Firstprivate
4090, Flush
4091, From
4092, Full
4093, Grainsize
4094, GraphId
4095, GraphReset
4096, Groupprivate
4097, HasDeviceAddr
4098, Hint
4099, Holds
4100, If
4101, InReduction
4102, Inbranch
4103, Inclusive
4104, Indirect
4105, Induction
4106, Inductor
4107, Init
4108, InitComplete
4109, Initializer
4110, Interop
4111, IsDevicePtr
4112, Lastprivate
4113, Linear
4114, Link
4115, Local
4116, Looprange
4117, Map
4118, Match
4119, MemoryOrder
4120, Memscope
4121, Mergeable
4122, Message
4123, Nogroup
4124, NoOpenmp
4125, NoOpenmpConstructs
4126, NoOpenmpRoutines
4127, NoParallelism
4128, Nowait
4129, Nocontext
4130, Nontemporal
4131, Notinbranch
4132, Novariants
4133, NumTasks
4134, NumTeams
4135, NumThreads
4136, OmpxAttribute
4137, OmpxBare
4138, OmpxDynCgroupMem
4139, Order
4140, Ordered
4141, Otherwise
4142, Partial
4143, Permutation
4144, Priority
4145, Private
4146, ProcBind
4147, Read
4148, Reduction
4149, Relaxed
4150, Release
4151, Replayable
4152, ReverseOffload
4153, Safelen
4154, Safesync
4155, Schedule
4156, SelfMaps
4157, SeqCst
4158, Severity
4159, Shared
4160, Simd
4161, Simdlen
4162, Sizes
4163, TaskReduction
4164, ThreadLimit
4165, Threadprivate
4166, Threads
4167, Threadset
4168, To
4169, Transparent
4170, UnifiedAddress
4171, UnifiedSharedMemory
4172, Uniform
4173, Unknown
4174, Untied
4175, Update
4176, Use
4177, UseDeviceAddr
4178, UseDevicePtr
4179, UsesAllocators
4180, Weak
4181, When
4182, Write
4183
4184#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4185
4186#ifdef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4187#undef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4188
4189NODE(OmpClause, Absent)
4190NODE(OmpClause, AcqRel)
4191NODE(OmpClause, Acquire)
4192NODE(OmpClause, AdjustArgs)
4193NODE(OmpClause, Affinity)
4194NODE(OmpClause, Align)
4195NODE(OmpClause, Aligned)
4196NODE(OmpClause, Allocate)
4197NODE(OmpClause, Allocator)
4198NODE(OmpClause, AppendArgs)
4199NODE(OmpClause, Apply)
4200NODE(OmpClause, At)
4201NODE(OmpClause, AtomicDefaultMemOrder)
4202NODE(OmpClause, Bind)
4203NODE(OmpClause, CancellationConstructType)
4204NODE(OmpClause, Capture)
4205NODE(OmpClause, Collapse)
4206NODE(OmpClause, Collector)
4207NODE(OmpClause, Combiner)
4208NODE(OmpClause, Compare)
4209NODE(OmpClause, Contains)
4210NODE(OmpClause, Copyprivate)
4211NODE(OmpClause, Copyin)
4212NODE(OmpClause, Counts)
4213NODE(OmpClause, Default)
4214NODE(OmpClause, Defaultmap)
4215NODE(OmpClause, Depend)
4216NODE(OmpClause, Depobj)
4217NODE(OmpClause, Depth)
4218NODE(OmpClause, Destroy)
4219NODE(OmpClause, Detach)
4220NODE(OmpClause, Device)
4221NODE(OmpClause, DeviceSafesync)
4222NODE(OmpClause, DeviceType)
4223NODE(OmpClause, DistSchedule)
4224NODE(OmpClause, Doacross)
4225NODE(OmpClause, DynGroupprivate)
4226NODE(OmpClause, DynamicAllocators)
4227NODE(OmpClause, Enter)
4228NODE(OmpClause, Exclusive)
4229NODE(OmpClause, Fail)
4230NODE(OmpClause, Filter)
4231NODE(OmpClause, Final)
4232NODE(OmpClause, Firstprivate)
4233NODE(OmpClause, Flush)
4234NODE(OmpClause, From)
4235NODE(OmpClause, Full)
4236NODE(OmpClause, Grainsize)
4237NODE(OmpClause, GraphId)
4238NODE(OmpClause, GraphReset)
4239NODE(OmpClause, Groupprivate)
4240NODE(OmpClause, HasDeviceAddr)
4241NODE(OmpClause, Hint)
4242NODE(OmpClause, Holds)
4243NODE(OmpClause, If)
4244NODE(OmpClause, InReduction)
4245NODE(OmpClause, Inbranch)
4246NODE(OmpClause, Inclusive)
4247NODE(OmpClause, Indirect)
4248NODE(OmpClause, Induction)
4249NODE(OmpClause, Inductor)
4250NODE(OmpClause, Init)
4251NODE(OmpClause, InitComplete)
4252NODE(OmpClause, Initializer)
4253NODE(OmpClause, Interop)
4254NODE(OmpClause, IsDevicePtr)
4255NODE(OmpClause, Lastprivate)
4256NODE(OmpClause, Linear)
4257NODE(OmpClause, Link)
4258NODE(OmpClause, Local)
4259NODE(OmpClause, Looprange)
4260NODE(OmpClause, Map)
4261NODE(OmpClause, Match)
4262NODE(OmpClause, MemoryOrder)
4263NODE(OmpClause, Memscope)
4264NODE(OmpClause, Mergeable)
4265NODE(OmpClause, Message)
4266NODE(OmpClause, Nogroup)
4267NODE(OmpClause, NoOpenmp)
4268NODE(OmpClause, NoOpenmpConstructs)
4269NODE(OmpClause, NoOpenmpRoutines)
4270NODE(OmpClause, NoParallelism)
4271NODE(OmpClause, Nowait)
4272NODE(OmpClause, Nocontext)
4273NODE(OmpClause, Nontemporal)
4274NODE(OmpClause, Notinbranch)
4275NODE(OmpClause, Novariants)
4276NODE(OmpClause, NumTasks)
4277NODE(OmpClause, NumTeams)
4278NODE(OmpClause, NumThreads)
4279NODE(OmpClause, OmpxAttribute)
4280NODE(OmpClause, OmpxBare)
4281NODE(OmpClause, OmpxDynCgroupMem)
4282NODE(OmpClause, Order)
4283NODE(OmpClause, Ordered)
4284NODE(OmpClause, Otherwise)
4285NODE(OmpClause, Partial)
4286NODE(OmpClause, Permutation)
4287NODE(OmpClause, Priority)
4288NODE(OmpClause, Private)
4289NODE(OmpClause, ProcBind)
4290NODE(OmpClause, Read)
4291NODE(OmpClause, Reduction)
4292NODE(OmpClause, Relaxed)
4293NODE(OmpClause, Release)
4294NODE(OmpClause, Replayable)
4295NODE(OmpClause, ReverseOffload)
4296NODE(OmpClause, Safelen)
4297NODE(OmpClause, Safesync)
4298NODE(OmpClause, Schedule)
4299NODE(OmpClause, SelfMaps)
4300NODE(OmpClause, SeqCst)
4301NODE(OmpClause, Severity)
4302NODE(OmpClause, Shared)
4303NODE(OmpClause, Simd)
4304NODE(OmpClause, Simdlen)
4305NODE(OmpClause, Sizes)
4306NODE(OmpClause, TaskReduction)
4307NODE(OmpClause, ThreadLimit)
4308NODE(OmpClause, Threadprivate)
4309NODE(OmpClause, Threads)
4310NODE(OmpClause, Threadset)
4311NODE(OmpClause, To)
4312NODE(OmpClause, Transparent)
4313NODE(OmpClause, UnifiedAddress)
4314NODE(OmpClause, UnifiedSharedMemory)
4315NODE(OmpClause, Uniform)
4316NODE(OmpClause, Unknown)
4317NODE(OmpClause, Untied)
4318NODE(OmpClause, Update)
4319NODE(OmpClause, Use)
4320NODE(OmpClause, UseDeviceAddr)
4321NODE(OmpClause, UseDevicePtr)
4322NODE(OmpClause, UsesAllocators)
4323NODE(OmpClause, Weak)
4324NODE(OmpClause, When)
4325NODE(OmpClause, Write)
4326
4327#endif // GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4328
4329#ifdef GEN_FLANG_CLAUSE_UNPARSE
4330#undef GEN_FLANG_CLAUSE_UNPARSE
4331
4332void Unparse(const OmpClause::Absent &x) {
4333 Word("ABSENT");
4334 Put("(");
4335 Walk(x.v);
4336 Put(")");
4337}
4338void Before(const OmpClause::AcqRel &) { Word("ACQ_REL"); }
4339void Before(const OmpClause::Acquire &) { Word("ACQUIRE"); }
4340void Unparse(const OmpClause::AdjustArgs &x) {
4341 Word("ADJUST_ARGS");
4342 Put("(");
4343 Walk(x.v);
4344 Put(")");
4345}
4346void Unparse(const OmpClause::Affinity &x) {
4347 Word("AFFINITY");
4348 Put("(");
4349 Walk(x.v);
4350 Put(")");
4351}
4352void Unparse(const OmpClause::Align &x) {
4353 Word("ALIGN");
4354 Put("(");
4355 Walk(x.v);
4356 Put(")");
4357}
4358void Unparse(const OmpClause::Aligned &x) {
4359 Word("ALIGNED");
4360 Put("(");
4361 Walk(x.v);
4362 Put(")");
4363}
4364void Unparse(const OmpClause::Allocate &x) {
4365 Word("ALLOCATE");
4366 Put("(");
4367 Walk(x.v);
4368 Put(")");
4369}
4370void Unparse(const OmpClause::Allocator &x) {
4371 Word("ALLOCATOR");
4372 Put("(");
4373 Walk(x.v);
4374 Put(")");
4375}
4376void Unparse(const OmpClause::AppendArgs &x) {
4377 Word("APPEND_ARGS");
4378 Put("(");
4379 Walk(x.v);
4380 Put(")");
4381}
4382void Before(const OmpClause::Apply &) { Word("APPLY"); }
4383void Unparse(const OmpClause::At &x) {
4384 Word("AT");
4385 Put("(");
4386 Walk(x.v);
4387 Put(")");
4388}
4389void Unparse(const OmpClause::AtomicDefaultMemOrder &x) {
4390 Word("ATOMIC_DEFAULT_MEM_ORDER");
4391 Put("(");
4392 Walk(x.v);
4393 Put(")");
4394}
4395void Unparse(const OmpClause::Bind &x) {
4396 Word("BIND");
4397 Put("(");
4398 Walk(x.v);
4399 Put(")");
4400}
4401void Before(const OmpClause::Capture &) { Word("CAPTURE"); }
4402void Unparse(const OmpClause::Collapse &x) {
4403 Word("COLLAPSE");
4404 Put("(");
4405 Walk(x.v);
4406 Put(")");
4407}
4408void Before(const OmpClause::Collector &) { Word("COLLECTOR"); }
4409void Unparse(const OmpClause::Combiner &x) {
4410 Word("COMBINER");
4411 Put("(");
4412 Walk(x.v);
4413 Put(")");
4414}
4415void Before(const OmpClause::Compare &) { Word("COMPARE"); }
4416void Unparse(const OmpClause::Contains &x) {
4417 Word("CONTAINS");
4418 Put("(");
4419 Walk(x.v);
4420 Put(")");
4421}
4422void Unparse(const OmpClause::Copyprivate &x) {
4423 Word("COPYPRIVATE");
4424 Put("(");
4425 Walk(x.v);
4426 Put(")");
4427}
4428void Unparse(const OmpClause::Copyin &x) {
4429 Word("COPYIN");
4430 Put("(");
4431 Walk(x.v);
4432 Put(")");
4433}
4434void Before(const OmpClause::Counts &) { Word("COUNTS"); }
4435void Unparse(const OmpClause::Default &x) {
4436 Word("DEFAULT");
4437 Put("(");
4438 Walk(x.v);
4439 Put(")");
4440}
4441void Unparse(const OmpClause::Defaultmap &x) {
4442 Word("DEFAULTMAP");
4443 Put("(");
4444 Walk(x.v);
4445 Put(")");
4446}
4447void Unparse(const OmpClause::Depend &x) {
4448 Word("DEPEND");
4449 Put("(");
4450 Walk(x.v);
4451 Put(")");
4452}
4453void Before(const OmpClause::Depobj &) { Word("DEPOBJ"); }
4454void Unparse(const OmpClause::Depth &x) {
4455 Word("DEPTH");
4456 Put("(");
4457 Walk(x.v);
4458 Put(")");
4459}
4460void Unparse(const OmpClause::Destroy &x) {
4461 Word("DESTROY");
4462 Walk("(", x.v, ")");
4463}
4464void Unparse(const OmpClause::Detach &x) {
4465 Word("DETACH");
4466 Put("(");
4467 Walk(x.v);
4468 Put(")");
4469}
4470void Unparse(const OmpClause::Device &x) {
4471 Word("DEVICE");
4472 Put("(");
4473 Walk(x.v);
4474 Put(")");
4475}
4476void Unparse(const OmpClause::DeviceSafesync &x) {
4477 Word("DEVICE_SAFESYNC");
4478 Walk("(", x.v, ")");
4479}
4480void Unparse(const OmpClause::DeviceType &x) {
4481 Word("DEVICE_TYPE");
4482 Put("(");
4483 Walk(x.v);
4484 Put(")");
4485}
4486void Unparse(const OmpClause::DistSchedule &x) {
4487 Word("DIST_SCHEDULE");
4488 Walk("(", x.v, ")");
4489}
4490void Unparse(const OmpClause::Doacross &x) {
4491 Word("DOACROSS");
4492 Put("(");
4493 Walk(x.v);
4494 Put(")");
4495}
4496void Unparse(const OmpClause::DynGroupprivate &x) {
4497 Word("DYN_GROUPPRIVATE");
4498 Put("(");
4499 Walk(x.v);
4500 Put(")");
4501}
4502void Unparse(const OmpClause::DynamicAllocators &x) {
4503 Word("DYNAMIC_ALLOCATORS");
4504 Walk("(", x.v, ")");
4505}
4506void Unparse(const OmpClause::Enter &x) {
4507 Word("ENTER");
4508 Put("(");
4509 Walk(x.v);
4510 Put(")");
4511}
4512void Unparse(const OmpClause::Exclusive &x) {
4513 Word("EXCLUSIVE");
4514 Put("(");
4515 Walk(x.v);
4516 Put(")");
4517}
4518void Unparse(const OmpClause::Fail &x) {
4519 Word("FAIL");
4520 Put("(");
4521 Walk(x.v);
4522 Put(")");
4523}
4524void Unparse(const OmpClause::Filter &x) {
4525 Word("FILTER");
4526 Put("(");
4527 Walk(x.v);
4528 Put(")");
4529}
4530void Unparse(const OmpClause::Final &x) {
4531 Word("FINAL");
4532 Put("(");
4533 Walk(x.v);
4534 Put(")");
4535}
4536void Unparse(const OmpClause::Firstprivate &x) {
4537 Word("FIRSTPRIVATE");
4538 Put("(");
4539 Walk(x.v);
4540 Put(")");
4541}
4542void Before(const OmpClause::Flush &) { Word("FLUSH"); }
4543void Unparse(const OmpClause::From &x) {
4544 Word("FROM");
4545 Put("(");
4546 Walk(x.v);
4547 Put(")");
4548}
4549void Before(const OmpClause::Full &) { Word("FULL"); }
4550void Unparse(const OmpClause::Grainsize &x) {
4551 Word("GRAINSIZE");
4552 Put("(");
4553 Walk(x.v);
4554 Put(")");
4555}
4556void Unparse(const OmpClause::GraphId &x) {
4557 Word("GRAPH_ID");
4558 Put("(");
4559 Walk(x.v);
4560 Put(")");
4561}
4562void Unparse(const OmpClause::GraphReset &x) {
4563 Word("GRAPH_RESET");
4564 Walk("(", x.v, ")");
4565}
4566void Before(const OmpClause::Groupprivate &) { Word("GROUPPRIVATE"); }
4567void Unparse(const OmpClause::HasDeviceAddr &x) {
4568 Word("HAS_DEVICE_ADDR");
4569 Put("(");
4570 Walk(x.v);
4571 Put(")");
4572}
4573void Unparse(const OmpClause::Hint &x) {
4574 Word("HINT");
4575 Put("(");
4576 Walk(x.v);
4577 Put(")");
4578}
4579void Unparse(const OmpClause::Holds &x) {
4580 Word("HOLDS");
4581 Put("(");
4582 Walk(x.v);
4583 Put(")");
4584}
4585void Unparse(const OmpClause::If &x) {
4586 Word("IF");
4587 Put("(");
4588 Walk(x.v);
4589 Put(")");
4590}
4591void Unparse(const OmpClause::InReduction &x) {
4592 Word("IN_REDUCTION");
4593 Put("(");
4594 Walk(x.v);
4595 Put(")");
4596}
4597void Before(const OmpClause::Inbranch &) { Word("INBRANCH"); }
4598void Unparse(const OmpClause::Inclusive &x) {
4599 Word("INCLUSIVE");
4600 Put("(");
4601 Walk(x.v);
4602 Put(")");
4603}
4604void Unparse(const OmpClause::Indirect &x) {
4605 Word("INDIRECT");
4606 Put("(");
4607 Walk(x.v);
4608 Put(")");
4609}
4610void Before(const OmpClause::Induction &) { Word("INDUCTION"); }
4611void Before(const OmpClause::Inductor &) { Word("INDUCTOR"); }
4612void Unparse(const OmpClause::Init &x) {
4613 Word("INIT");
4614 Put("(");
4615 Walk(x.v);
4616 Put(")");
4617}
4618void Before(const OmpClause::InitComplete &) { Word("INIT_COMPLETE"); }
4619void Unparse(const OmpClause::Initializer &x) {
4620 Word("INITIALIZER");
4621 Put("(");
4622 Walk(x.v);
4623 Put(")");
4624}
4625void Before(const OmpClause::Interop &) { Word("INTEROP"); }
4626void Unparse(const OmpClause::IsDevicePtr &x) {
4627 Word("IS_DEVICE_PTR");
4628 Put("(");
4629 Walk(x.v);
4630 Put(")");
4631}
4632void Unparse(const OmpClause::Lastprivate &x) {
4633 Word("LASTPRIVATE");
4634 Put("(");
4635 Walk(x.v);
4636 Put(")");
4637}
4638void Unparse(const OmpClause::Linear &x) {
4639 Word("LINEAR");
4640 Put("(");
4641 Walk(x.v);
4642 Put(")");
4643}
4644void Unparse(const OmpClause::Link &x) {
4645 Word("LINK");
4646 Put("(");
4647 Walk(x.v);
4648 Put(")");
4649}
4650void Before(const OmpClause::Local &) { Word("LOCAL"); }
4651void Unparse(const OmpClause::Looprange &x) {
4652 Word("LOOPRANGE");
4653 Put("(");
4654 Walk(x.v);
4655 Put(")");
4656}
4657void Unparse(const OmpClause::Map &x) {
4658 Word("MAP");
4659 Put("(");
4660 Walk(x.v);
4661 Put(")");
4662}
4663void Unparse(const OmpClause::Match &x) {
4664 Word("MATCH");
4665 Put("(");
4666 Walk(x.v);
4667 Put(")");
4668}
4669void Before(const OmpClause::MemoryOrder &) { Word("MEMORY_ORDER"); }
4670void Before(const OmpClause::Memscope &) { Word("MEMSCOPE"); }
4671void Before(const OmpClause::Mergeable &) { Word("MERGEABLE"); }
4672void Unparse(const OmpClause::Message &x) {
4673 Word("MESSAGE");
4674 Put("(");
4675 Walk(x.v);
4676 Put(")");
4677}
4678void Before(const OmpClause::Nogroup &) { Word("NOGROUP"); }
4679void Before(const OmpClause::NoOpenmp &) { Word("NO_OPENMP"); }
4680void Before(const OmpClause::NoOpenmpConstructs &) { Word("NO_OPENMP_CONSTRUCTS"); }
4681void Before(const OmpClause::NoOpenmpRoutines &) { Word("NO_OPENMP_ROUTINES"); }
4682void Before(const OmpClause::NoParallelism &) { Word("NO_PARALLELISM"); }
4683void Before(const OmpClause::Nowait &) { Word("NOWAIT"); }
4684void Unparse(const OmpClause::Nocontext &x) {
4685 Word("NOCONTEXT");
4686 Put("(");
4687 Walk(x.v);
4688 Put(")");
4689}
4690void Unparse(const OmpClause::Nontemporal &x) {
4691 Word("NONTEMPORAL");
4692 Put("(");
4693 Walk(x.v);
4694 Put(")");
4695}
4696void Before(const OmpClause::Notinbranch &) { Word("NOTINBRANCH"); }
4697void Unparse(const OmpClause::Novariants &x) {
4698 Word("NOVARIANTS");
4699 Put("(");
4700 Walk(x.v);
4701 Put(")");
4702}
4703void Unparse(const OmpClause::NumTasks &x) {
4704 Word("NUM_TASKS");
4705 Put("(");
4706 Walk(x.v);
4707 Put(")");
4708}
4709void Unparse(const OmpClause::NumTeams &x) {
4710 Word("NUM_TEAMS");
4711 Put("(");
4712 Walk(x.v);
4713 Put(")");
4714}
4715void Unparse(const OmpClause::NumThreads &x) {
4716 Word("NUM_THREADS");
4717 Put("(");
4718 Walk(x.v);
4719 Put(")");
4720}
4721void Before(const OmpClause::OmpxAttribute &) { Word("OMPX_ATTRIBUTE"); }
4722void Before(const OmpClause::OmpxBare &) { Word("OMPX_BARE"); }
4723void Unparse(const OmpClause::OmpxDynCgroupMem &x) {
4724 Word("OMPX_DYN_CGROUP_MEM");
4725 Put("(");
4726 Walk(x.v);
4727 Put(")");
4728}
4729void Unparse(const OmpClause::Order &x) {
4730 Word("ORDER");
4731 Put("(");
4732 Walk(x.v);
4733 Put(")");
4734}
4735void Unparse(const OmpClause::Ordered &x) {
4736 Word("ORDERED");
4737 Walk("(", x.v, ")");
4738}
4739void Unparse(const OmpClause::Otherwise &x) {
4740 Word("OTHERWISE");
4741 Walk("(", x.v, ")");
4742}
4743void Unparse(const OmpClause::Partial &x) {
4744 Word("PARTIAL");
4745 Walk("(", x.v, ")");
4746}
4747void Unparse(const OmpClause::Permutation &x) {
4748 Word("PERMUTATION");
4749 Put("(");
4750 Walk(x.v, ",");
4751 Put(")");
4752}
4753void Unparse(const OmpClause::Priority &x) {
4754 Word("PRIORITY");
4755 Put("(");
4756 Walk(x.v);
4757 Put(")");
4758}
4759void Unparse(const OmpClause::Private &x) {
4760 Word("PRIVATE");
4761 Put("(");
4762 Walk(x.v);
4763 Put(")");
4764}
4765void Unparse(const OmpClause::ProcBind &x) {
4766 Word("PROC_BIND");
4767 Put("(");
4768 Walk(x.v);
4769 Put(")");
4770}
4771void Before(const OmpClause::Read &) { Word("READ"); }
4772void Unparse(const OmpClause::Reduction &x) {
4773 Word("REDUCTION");
4774 Put("(");
4775 Walk(x.v);
4776 Put(")");
4777}
4778void Before(const OmpClause::Relaxed &) { Word("RELAXED"); }
4779void Before(const OmpClause::Release &) { Word("RELEASE"); }
4780void Unparse(const OmpClause::Replayable &x) {
4781 Word("REPLAYABLE");
4782 Walk("(", x.v, ")");
4783}
4784void Unparse(const OmpClause::ReverseOffload &x) {
4785 Word("REVERSE_OFFLOAD");
4786 Walk("(", x.v, ")");
4787}
4788void Unparse(const OmpClause::Safelen &x) {
4789 Word("SAFELEN");
4790 Put("(");
4791 Walk(x.v);
4792 Put(")");
4793}
4794void Before(const OmpClause::Safesync &) { Word("SAFESYNC"); }
4795void Unparse(const OmpClause::Schedule &x) {
4796 Word("SCHEDULE");
4797 Put("(");
4798 Walk(x.v);
4799 Put(")");
4800}
4801void Unparse(const OmpClause::SelfMaps &x) {
4802 Word("SELF_MAPS");
4803 Walk("(", x.v, ")");
4804}
4805void Before(const OmpClause::SeqCst &) { Word("SEQ_CST"); }
4806void Unparse(const OmpClause::Severity &x) {
4807 Word("SEVERITY");
4808 Put("(");
4809 Walk(x.v);
4810 Put(")");
4811}
4812void Unparse(const OmpClause::Shared &x) {
4813 Word("SHARED");
4814 Put("(");
4815 Walk(x.v);
4816 Put(")");
4817}
4818void Before(const OmpClause::Simd &) { Word("SIMD"); }
4819void Unparse(const OmpClause::Simdlen &x) {
4820 Word("SIMDLEN");
4821 Put("(");
4822 Walk(x.v);
4823 Put(")");
4824}
4825void Unparse(const OmpClause::Sizes &x) {
4826 Word("SIZES");
4827 Put("(");
4828 Walk(x.v, ",");
4829 Put(")");
4830}
4831void Unparse(const OmpClause::TaskReduction &x) {
4832 Word("TASK_REDUCTION");
4833 Put("(");
4834 Walk(x.v);
4835 Put(")");
4836}
4837void Unparse(const OmpClause::ThreadLimit &x) {
4838 Word("THREAD_LIMIT");
4839 Put("(");
4840 Walk(x.v);
4841 Put(")");
4842}
4843void Before(const OmpClause::Threadprivate &) { Word("THREADPRIVATE"); }
4844void Before(const OmpClause::Threads &) { Word("THREADS"); }
4845void Unparse(const OmpClause::Threadset &x) {
4846 Word("THREADSET");
4847 Put("(");
4848 Walk(x.v);
4849 Put(")");
4850}
4851void Unparse(const OmpClause::To &x) {
4852 Word("TO");
4853 Put("(");
4854 Walk(x.v);
4855 Put(")");
4856}
4857void Unparse(const OmpClause::Transparent &x) {
4858 Word("TRANSPARENT");
4859 Walk("(", x.v, ")");
4860}
4861void Unparse(const OmpClause::UnifiedAddress &x) {
4862 Word("UNIFIED_ADDRESS");
4863 Walk("(", x.v, ")");
4864}
4865void Unparse(const OmpClause::UnifiedSharedMemory &x) {
4866 Word("UNIFIED_SHARED_MEMORY");
4867 Walk("(", x.v, ")");
4868}
4869void Unparse(const OmpClause::Uniform &x) {
4870 Word("UNIFORM");
4871 Put("(");
4872 Walk(x.v, ",");
4873 Put(")");
4874}
4875void Before(const OmpClause::Unknown &) { Word("UNKNOWN"); }
4876void Before(const OmpClause::Untied &) { Word("UNTIED"); }
4877void Unparse(const OmpClause::Update &x) {
4878 Word("UPDATE");
4879 Walk("(", x.v, ")");
4880}
4881void Unparse(const OmpClause::Use &x) {
4882 Word("USE");
4883 Put("(");
4884 Walk(x.v);
4885 Put(")");
4886}
4887void Unparse(const OmpClause::UseDeviceAddr &x) {
4888 Word("USE_DEVICE_ADDR");
4889 Put("(");
4890 Walk(x.v);
4891 Put(")");
4892}
4893void Unparse(const OmpClause::UseDevicePtr &x) {
4894 Word("USE_DEVICE_PTR");
4895 Put("(");
4896 Walk(x.v);
4897 Put(")");
4898}
4899void Before(const OmpClause::UsesAllocators &) { Word("USES_ALLOCATORS"); }
4900void Before(const OmpClause::Weak &) { Word("WEAK"); }
4901void Unparse(const OmpClause::When &x) {
4902 Word("WHEN");
4903 Put("(");
4904 Walk(x.v);
4905 Put(")");
4906}
4907void Before(const OmpClause::Write &) { Word("WRITE"); }
4908
4909#endif // GEN_FLANG_CLAUSE_UNPARSE
4910
4911#ifdef GEN_FLANG_CLAUSE_CHECK_ENTER
4912#undef GEN_FLANG_CLAUSE_CHECK_ENTER
4913
4914void Enter(const parser::OmpClause::Absent &);
4915void Enter(const parser::OmpClause::AcqRel &);
4916void Enter(const parser::OmpClause::Acquire &);
4917void Enter(const parser::OmpClause::AdjustArgs &);
4918void Enter(const parser::OmpClause::Affinity &);
4919void Enter(const parser::OmpClause::Align &);
4920void Enter(const parser::OmpClause::Aligned &);
4921void Enter(const parser::OmpClause::Allocate &);
4922void Enter(const parser::OmpClause::Allocator &);
4923void Enter(const parser::OmpClause::AppendArgs &);
4924void Enter(const parser::OmpClause::Apply &);
4925void Enter(const parser::OmpClause::At &);
4926void Enter(const parser::OmpClause::AtomicDefaultMemOrder &);
4927void Enter(const parser::OmpClause::Bind &);
4928void Enter(const parser::OmpClause::CancellationConstructType &);
4929void Enter(const parser::OmpClause::Capture &);
4930void Enter(const parser::OmpClause::Collapse &);
4931void Enter(const parser::OmpClause::Collector &);
4932void Enter(const parser::OmpClause::Combiner &);
4933void Enter(const parser::OmpClause::Compare &);
4934void Enter(const parser::OmpClause::Contains &);
4935void Enter(const parser::OmpClause::Copyprivate &);
4936void Enter(const parser::OmpClause::Copyin &);
4937void Enter(const parser::OmpClause::Counts &);
4938void Enter(const parser::OmpClause::Default &);
4939void Enter(const parser::OmpClause::Defaultmap &);
4940void Enter(const parser::OmpClause::Depend &);
4941void Enter(const parser::OmpClause::Depobj &);
4942void Enter(const parser::OmpClause::Depth &);
4943void Enter(const parser::OmpClause::Destroy &);
4944void Enter(const parser::OmpClause::Detach &);
4945void Enter(const parser::OmpClause::Device &);
4946void Enter(const parser::OmpClause::DeviceSafesync &);
4947void Enter(const parser::OmpClause::DeviceType &);
4948void Enter(const parser::OmpClause::DistSchedule &);
4949void Enter(const parser::OmpClause::Doacross &);
4950void Enter(const parser::OmpClause::DynGroupprivate &);
4951void Enter(const parser::OmpClause::DynamicAllocators &);
4952void Enter(const parser::OmpClause::Enter &);
4953void Enter(const parser::OmpClause::Exclusive &);
4954void Enter(const parser::OmpClause::Fail &);
4955void Enter(const parser::OmpClause::Filter &);
4956void Enter(const parser::OmpClause::Final &);
4957void Enter(const parser::OmpClause::Firstprivate &);
4958void Enter(const parser::OmpClause::Flush &);
4959void Enter(const parser::OmpClause::From &);
4960void Enter(const parser::OmpClause::Full &);
4961void Enter(const parser::OmpClause::Grainsize &);
4962void Enter(const parser::OmpClause::GraphId &);
4963void Enter(const parser::OmpClause::GraphReset &);
4964void Enter(const parser::OmpClause::Groupprivate &);
4965void Enter(const parser::OmpClause::HasDeviceAddr &);
4966void Enter(const parser::OmpClause::Hint &);
4967void Enter(const parser::OmpClause::Holds &);
4968void Enter(const parser::OmpClause::If &);
4969void Enter(const parser::OmpClause::InReduction &);
4970void Enter(const parser::OmpClause::Inbranch &);
4971void Enter(const parser::OmpClause::Inclusive &);
4972void Enter(const parser::OmpClause::Indirect &);
4973void Enter(const parser::OmpClause::Induction &);
4974void Enter(const parser::OmpClause::Inductor &);
4975void Enter(const parser::OmpClause::Init &);
4976void Enter(const parser::OmpClause::InitComplete &);
4977void Enter(const parser::OmpClause::Initializer &);
4978void Enter(const parser::OmpClause::Interop &);
4979void Enter(const parser::OmpClause::IsDevicePtr &);
4980void Enter(const parser::OmpClause::Lastprivate &);
4981void Enter(const parser::OmpClause::Linear &);
4982void Enter(const parser::OmpClause::Link &);
4983void Enter(const parser::OmpClause::Local &);
4984void Enter(const parser::OmpClause::Looprange &);
4985void Enter(const parser::OmpClause::Map &);
4986void Enter(const parser::OmpClause::Match &);
4987void Enter(const parser::OmpClause::MemoryOrder &);
4988void Enter(const parser::OmpClause::Memscope &);
4989void Enter(const parser::OmpClause::Mergeable &);
4990void Enter(const parser::OmpClause::Message &);
4991void Enter(const parser::OmpClause::Nogroup &);
4992void Enter(const parser::OmpClause::NoOpenmp &);
4993void Enter(const parser::OmpClause::NoOpenmpConstructs &);
4994void Enter(const parser::OmpClause::NoOpenmpRoutines &);
4995void Enter(const parser::OmpClause::NoParallelism &);
4996void Enter(const parser::OmpClause::Nowait &);
4997void Enter(const parser::OmpClause::Nocontext &);
4998void Enter(const parser::OmpClause::Nontemporal &);
4999void Enter(const parser::OmpClause::Notinbranch &);
5000void Enter(const parser::OmpClause::Novariants &);
5001void Enter(const parser::OmpClause::NumTasks &);
5002void Enter(const parser::OmpClause::NumTeams &);
5003void Enter(const parser::OmpClause::NumThreads &);
5004void Enter(const parser::OmpClause::OmpxAttribute &);
5005void Enter(const parser::OmpClause::OmpxBare &);
5006void Enter(const parser::OmpClause::OmpxDynCgroupMem &);
5007void Enter(const parser::OmpClause::Order &);
5008void Enter(const parser::OmpClause::Ordered &);
5009void Enter(const parser::OmpClause::Otherwise &);
5010void Enter(const parser::OmpClause::Partial &);
5011void Enter(const parser::OmpClause::Permutation &);
5012void Enter(const parser::OmpClause::Priority &);
5013void Enter(const parser::OmpClause::Private &);
5014void Enter(const parser::OmpClause::ProcBind &);
5015void Enter(const parser::OmpClause::Read &);
5016void Enter(const parser::OmpClause::Reduction &);
5017void Enter(const parser::OmpClause::Relaxed &);
5018void Enter(const parser::OmpClause::Release &);
5019void Enter(const parser::OmpClause::Replayable &);
5020void Enter(const parser::OmpClause::ReverseOffload &);
5021void Enter(const parser::OmpClause::Safelen &);
5022void Enter(const parser::OmpClause::Safesync &);
5023void Enter(const parser::OmpClause::Schedule &);
5024void Enter(const parser::OmpClause::SelfMaps &);
5025void Enter(const parser::OmpClause::SeqCst &);
5026void Enter(const parser::OmpClause::Severity &);
5027void Enter(const parser::OmpClause::Shared &);
5028void Enter(const parser::OmpClause::Simd &);
5029void Enter(const parser::OmpClause::Simdlen &);
5030void Enter(const parser::OmpClause::Sizes &);
5031void Enter(const parser::OmpClause::TaskReduction &);
5032void Enter(const parser::OmpClause::ThreadLimit &);
5033void Enter(const parser::OmpClause::Threadprivate &);
5034void Enter(const parser::OmpClause::Threads &);
5035void Enter(const parser::OmpClause::Threadset &);
5036void Enter(const parser::OmpClause::To &);
5037void Enter(const parser::OmpClause::Transparent &);
5038void Enter(const parser::OmpClause::UnifiedAddress &);
5039void Enter(const parser::OmpClause::UnifiedSharedMemory &);
5040void Enter(const parser::OmpClause::Uniform &);
5041void Enter(const parser::OmpClause::Unknown &);
5042void Enter(const parser::OmpClause::Untied &);
5043void Enter(const parser::OmpClause::Update &);
5044void Enter(const parser::OmpClause::Use &);
5045void Enter(const parser::OmpClause::UseDeviceAddr &);
5046void Enter(const parser::OmpClause::UseDevicePtr &);
5047void Enter(const parser::OmpClause::UsesAllocators &);
5048void Enter(const parser::OmpClause::Weak &);
5049void Enter(const parser::OmpClause::When &);
5050void Enter(const parser::OmpClause::Write &);
5051
5052#endif // GEN_FLANG_CLAUSE_CHECK_ENTER
5053
5054#ifdef GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5055#undef GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5056
5057if constexpr (std::is_same_v<A, parser::OmpClause::Absent>)
5058 return llvm::omp::Clause::OMPC_absent;
5059if constexpr (std::is_same_v<A, parser::OmpClause::AcqRel>)
5060 return llvm::omp::Clause::OMPC_acq_rel;
5061if constexpr (std::is_same_v<A, parser::OmpClause::Acquire>)
5062 return llvm::omp::Clause::OMPC_acquire;
5063if constexpr (std::is_same_v<A, parser::OmpClause::AdjustArgs>)
5064 return llvm::omp::Clause::OMPC_adjust_args;
5065if constexpr (std::is_same_v<A, parser::OmpClause::Affinity>)
5066 return llvm::omp::Clause::OMPC_affinity;
5067if constexpr (std::is_same_v<A, parser::OmpClause::Align>)
5068 return llvm::omp::Clause::OMPC_align;
5069if constexpr (std::is_same_v<A, parser::OmpClause::Aligned>)
5070 return llvm::omp::Clause::OMPC_aligned;
5071if constexpr (std::is_same_v<A, parser::OmpClause::Allocate>)
5072 return llvm::omp::Clause::OMPC_allocate;
5073if constexpr (std::is_same_v<A, parser::OmpClause::Allocator>)
5074 return llvm::omp::Clause::OMPC_allocator;
5075if constexpr (std::is_same_v<A, parser::OmpClause::AppendArgs>)
5076 return llvm::omp::Clause::OMPC_append_args;
5077if constexpr (std::is_same_v<A, parser::OmpClause::Apply>)
5078 return llvm::omp::Clause::OMPC_apply;
5079if constexpr (std::is_same_v<A, parser::OmpClause::At>)
5080 return llvm::omp::Clause::OMPC_at;
5081if constexpr (std::is_same_v<A, parser::OmpClause::AtomicDefaultMemOrder>)
5082 return llvm::omp::Clause::OMPC_atomic_default_mem_order;
5083if constexpr (std::is_same_v<A, parser::OmpClause::Bind>)
5084 return llvm::omp::Clause::OMPC_bind;
5085if constexpr (std::is_same_v<A, parser::OmpClause::CancellationConstructType>)
5086 return llvm::omp::Clause::OMPC_cancellation_construct_type;
5087if constexpr (std::is_same_v<A, parser::OmpClause::Capture>)
5088 return llvm::omp::Clause::OMPC_capture;
5089if constexpr (std::is_same_v<A, parser::OmpClause::Collapse>)
5090 return llvm::omp::Clause::OMPC_collapse;
5091if constexpr (std::is_same_v<A, parser::OmpClause::Collector>)
5092 return llvm::omp::Clause::OMPC_collector;
5093if constexpr (std::is_same_v<A, parser::OmpClause::Combiner>)
5094 return llvm::omp::Clause::OMPC_combiner;
5095if constexpr (std::is_same_v<A, parser::OmpClause::Compare>)
5096 return llvm::omp::Clause::OMPC_compare;
5097if constexpr (std::is_same_v<A, parser::OmpClause::Contains>)
5098 return llvm::omp::Clause::OMPC_contains;
5099if constexpr (std::is_same_v<A, parser::OmpClause::Copyprivate>)
5100 return llvm::omp::Clause::OMPC_copyprivate;
5101if constexpr (std::is_same_v<A, parser::OmpClause::Copyin>)
5102 return llvm::omp::Clause::OMPC_copyin;
5103if constexpr (std::is_same_v<A, parser::OmpClause::Counts>)
5104 return llvm::omp::Clause::OMPC_counts;
5105if constexpr (std::is_same_v<A, parser::OmpClause::Default>)
5106 return llvm::omp::Clause::OMPC_default;
5107if constexpr (std::is_same_v<A, parser::OmpClause::Defaultmap>)
5108 return llvm::omp::Clause::OMPC_defaultmap;
5109if constexpr (std::is_same_v<A, parser::OmpClause::Depend>)
5110 return llvm::omp::Clause::OMPC_depend;
5111if constexpr (std::is_same_v<A, parser::OmpClause::Depobj>)
5112 return llvm::omp::Clause::OMPC_depobj;
5113if constexpr (std::is_same_v<A, parser::OmpClause::Depth>)
5114 return llvm::omp::Clause::OMPC_depth;
5115if constexpr (std::is_same_v<A, parser::OmpClause::Destroy>)
5116 return llvm::omp::Clause::OMPC_destroy;
5117if constexpr (std::is_same_v<A, parser::OmpClause::Detach>)
5118 return llvm::omp::Clause::OMPC_detach;
5119if constexpr (std::is_same_v<A, parser::OmpClause::Device>)
5120 return llvm::omp::Clause::OMPC_device;
5121if constexpr (std::is_same_v<A, parser::OmpClause::DeviceSafesync>)
5122 return llvm::omp::Clause::OMPC_device_safesync;
5123if constexpr (std::is_same_v<A, parser::OmpClause::DeviceType>)
5124 return llvm::omp::Clause::OMPC_device_type;
5125if constexpr (std::is_same_v<A, parser::OmpClause::DistSchedule>)
5126 return llvm::omp::Clause::OMPC_dist_schedule;
5127if constexpr (std::is_same_v<A, parser::OmpClause::Doacross>)
5128 return llvm::omp::Clause::OMPC_doacross;
5129if constexpr (std::is_same_v<A, parser::OmpClause::DynGroupprivate>)
5130 return llvm::omp::Clause::OMPC_dyn_groupprivate;
5131if constexpr (std::is_same_v<A, parser::OmpClause::DynamicAllocators>)
5132 return llvm::omp::Clause::OMPC_dynamic_allocators;
5133if constexpr (std::is_same_v<A, parser::OmpClause::Enter>)
5134 return llvm::omp::Clause::OMPC_enter;
5135if constexpr (std::is_same_v<A, parser::OmpClause::Exclusive>)
5136 return llvm::omp::Clause::OMPC_exclusive;
5137if constexpr (std::is_same_v<A, parser::OmpClause::Fail>)
5138 return llvm::omp::Clause::OMPC_fail;
5139if constexpr (std::is_same_v<A, parser::OmpClause::Filter>)
5140 return llvm::omp::Clause::OMPC_filter;
5141if constexpr (std::is_same_v<A, parser::OmpClause::Final>)
5142 return llvm::omp::Clause::OMPC_final;
5143if constexpr (std::is_same_v<A, parser::OmpClause::Firstprivate>)
5144 return llvm::omp::Clause::OMPC_firstprivate;
5145if constexpr (std::is_same_v<A, parser::OmpClause::Flush>)
5146 return llvm::omp::Clause::OMPC_flush;
5147if constexpr (std::is_same_v<A, parser::OmpClause::From>)
5148 return llvm::omp::Clause::OMPC_from;
5149if constexpr (std::is_same_v<A, parser::OmpClause::Full>)
5150 return llvm::omp::Clause::OMPC_full;
5151if constexpr (std::is_same_v<A, parser::OmpClause::Grainsize>)
5152 return llvm::omp::Clause::OMPC_grainsize;
5153if constexpr (std::is_same_v<A, parser::OmpClause::GraphId>)
5154 return llvm::omp::Clause::OMPC_graph_id;
5155if constexpr (std::is_same_v<A, parser::OmpClause::GraphReset>)
5156 return llvm::omp::Clause::OMPC_graph_reset;
5157if constexpr (std::is_same_v<A, parser::OmpClause::Groupprivate>)
5158 return llvm::omp::Clause::OMPC_groupprivate;
5159if constexpr (std::is_same_v<A, parser::OmpClause::HasDeviceAddr>)
5160 return llvm::omp::Clause::OMPC_has_device_addr;
5161if constexpr (std::is_same_v<A, parser::OmpClause::Hint>)
5162 return llvm::omp::Clause::OMPC_hint;
5163if constexpr (std::is_same_v<A, parser::OmpClause::Holds>)
5164 return llvm::omp::Clause::OMPC_holds;
5165if constexpr (std::is_same_v<A, parser::OmpClause::If>)
5166 return llvm::omp::Clause::OMPC_if;
5167if constexpr (std::is_same_v<A, parser::OmpClause::InReduction>)
5168 return llvm::omp::Clause::OMPC_in_reduction;
5169if constexpr (std::is_same_v<A, parser::OmpClause::Inbranch>)
5170 return llvm::omp::Clause::OMPC_inbranch;
5171if constexpr (std::is_same_v<A, parser::OmpClause::Inclusive>)
5172 return llvm::omp::Clause::OMPC_inclusive;
5173if constexpr (std::is_same_v<A, parser::OmpClause::Indirect>)
5174 return llvm::omp::Clause::OMPC_indirect;
5175if constexpr (std::is_same_v<A, parser::OmpClause::Induction>)
5176 return llvm::omp::Clause::OMPC_induction;
5177if constexpr (std::is_same_v<A, parser::OmpClause::Inductor>)
5178 return llvm::omp::Clause::OMPC_inductor;
5179if constexpr (std::is_same_v<A, parser::OmpClause::Init>)
5180 return llvm::omp::Clause::OMPC_init;
5181if constexpr (std::is_same_v<A, parser::OmpClause::InitComplete>)
5182 return llvm::omp::Clause::OMPC_init_complete;
5183if constexpr (std::is_same_v<A, parser::OmpClause::Initializer>)
5184 return llvm::omp::Clause::OMPC_initializer;
5185if constexpr (std::is_same_v<A, parser::OmpClause::Interop>)
5186 return llvm::omp::Clause::OMPC_interop;
5187if constexpr (std::is_same_v<A, parser::OmpClause::IsDevicePtr>)
5188 return llvm::omp::Clause::OMPC_is_device_ptr;
5189if constexpr (std::is_same_v<A, parser::OmpClause::Lastprivate>)
5190 return llvm::omp::Clause::OMPC_lastprivate;
5191if constexpr (std::is_same_v<A, parser::OmpClause::Linear>)
5192 return llvm::omp::Clause::OMPC_linear;
5193if constexpr (std::is_same_v<A, parser::OmpClause::Link>)
5194 return llvm::omp::Clause::OMPC_link;
5195if constexpr (std::is_same_v<A, parser::OmpClause::Local>)
5196 return llvm::omp::Clause::OMPC_local;
5197if constexpr (std::is_same_v<A, parser::OmpClause::Looprange>)
5198 return llvm::omp::Clause::OMPC_looprange;
5199if constexpr (std::is_same_v<A, parser::OmpClause::Map>)
5200 return llvm::omp::Clause::OMPC_map;
5201if constexpr (std::is_same_v<A, parser::OmpClause::Match>)
5202 return llvm::omp::Clause::OMPC_match;
5203if constexpr (std::is_same_v<A, parser::OmpClause::MemoryOrder>)
5204 return llvm::omp::Clause::OMPC_memory_order;
5205if constexpr (std::is_same_v<A, parser::OmpClause::Memscope>)
5206 return llvm::omp::Clause::OMPC_memscope;
5207if constexpr (std::is_same_v<A, parser::OmpClause::Mergeable>)
5208 return llvm::omp::Clause::OMPC_mergeable;
5209if constexpr (std::is_same_v<A, parser::OmpClause::Message>)
5210 return llvm::omp::Clause::OMPC_message;
5211if constexpr (std::is_same_v<A, parser::OmpClause::Nogroup>)
5212 return llvm::omp::Clause::OMPC_nogroup;
5213if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmp>)
5214 return llvm::omp::Clause::OMPC_no_openmp;
5215if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmpConstructs>)
5216 return llvm::omp::Clause::OMPC_no_openmp_constructs;
5217if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmpRoutines>)
5218 return llvm::omp::Clause::OMPC_no_openmp_routines;
5219if constexpr (std::is_same_v<A, parser::OmpClause::NoParallelism>)
5220 return llvm::omp::Clause::OMPC_no_parallelism;
5221if constexpr (std::is_same_v<A, parser::OmpClause::Nowait>)
5222 return llvm::omp::Clause::OMPC_nowait;
5223if constexpr (std::is_same_v<A, parser::OmpClause::Nocontext>)
5224 return llvm::omp::Clause::OMPC_nocontext;
5225if constexpr (std::is_same_v<A, parser::OmpClause::Nontemporal>)
5226 return llvm::omp::Clause::OMPC_nontemporal;
5227if constexpr (std::is_same_v<A, parser::OmpClause::Notinbranch>)
5228 return llvm::omp::Clause::OMPC_notinbranch;
5229if constexpr (std::is_same_v<A, parser::OmpClause::Novariants>)
5230 return llvm::omp::Clause::OMPC_novariants;
5231if constexpr (std::is_same_v<A, parser::OmpClause::NumTasks>)
5232 return llvm::omp::Clause::OMPC_num_tasks;
5233if constexpr (std::is_same_v<A, parser::OmpClause::NumTeams>)
5234 return llvm::omp::Clause::OMPC_num_teams;
5235if constexpr (std::is_same_v<A, parser::OmpClause::NumThreads>)
5236 return llvm::omp::Clause::OMPC_num_threads;
5237if constexpr (std::is_same_v<A, parser::OmpClause::OmpxAttribute>)
5238 return llvm::omp::Clause::OMPC_ompx_attribute;
5239if constexpr (std::is_same_v<A, parser::OmpClause::OmpxBare>)
5240 return llvm::omp::Clause::OMPC_ompx_bare;
5241if constexpr (std::is_same_v<A, parser::OmpClause::OmpxDynCgroupMem>)
5242 return llvm::omp::Clause::OMPC_ompx_dyn_cgroup_mem;
5243if constexpr (std::is_same_v<A, parser::OmpClause::Order>)
5244 return llvm::omp::Clause::OMPC_order;
5245if constexpr (std::is_same_v<A, parser::OmpClause::Ordered>)
5246 return llvm::omp::Clause::OMPC_ordered;
5247if constexpr (std::is_same_v<A, parser::OmpClause::Otherwise>)
5248 return llvm::omp::Clause::OMPC_otherwise;
5249if constexpr (std::is_same_v<A, parser::OmpClause::Partial>)
5250 return llvm::omp::Clause::OMPC_partial;
5251if constexpr (std::is_same_v<A, parser::OmpClause::Permutation>)
5252 return llvm::omp::Clause::OMPC_permutation;
5253if constexpr (std::is_same_v<A, parser::OmpClause::Priority>)
5254 return llvm::omp::Clause::OMPC_priority;
5255if constexpr (std::is_same_v<A, parser::OmpClause::Private>)
5256 return llvm::omp::Clause::OMPC_private;
5257if constexpr (std::is_same_v<A, parser::OmpClause::ProcBind>)
5258 return llvm::omp::Clause::OMPC_proc_bind;
5259if constexpr (std::is_same_v<A, parser::OmpClause::Read>)
5260 return llvm::omp::Clause::OMPC_read;
5261if constexpr (std::is_same_v<A, parser::OmpClause::Reduction>)
5262 return llvm::omp::Clause::OMPC_reduction;
5263if constexpr (std::is_same_v<A, parser::OmpClause::Relaxed>)
5264 return llvm::omp::Clause::OMPC_relaxed;
5265if constexpr (std::is_same_v<A, parser::OmpClause::Release>)
5266 return llvm::omp::Clause::OMPC_release;
5267if constexpr (std::is_same_v<A, parser::OmpClause::Replayable>)
5268 return llvm::omp::Clause::OMPC_replayable;
5269if constexpr (std::is_same_v<A, parser::OmpClause::ReverseOffload>)
5270 return llvm::omp::Clause::OMPC_reverse_offload;
5271if constexpr (std::is_same_v<A, parser::OmpClause::Safelen>)
5272 return llvm::omp::Clause::OMPC_safelen;
5273if constexpr (std::is_same_v<A, parser::OmpClause::Safesync>)
5274 return llvm::omp::Clause::OMPC_safesync;
5275if constexpr (std::is_same_v<A, parser::OmpClause::Schedule>)
5276 return llvm::omp::Clause::OMPC_schedule;
5277if constexpr (std::is_same_v<A, parser::OmpClause::SelfMaps>)
5278 return llvm::omp::Clause::OMPC_self_maps;
5279if constexpr (std::is_same_v<A, parser::OmpClause::SeqCst>)
5280 return llvm::omp::Clause::OMPC_seq_cst;
5281if constexpr (std::is_same_v<A, parser::OmpClause::Severity>)
5282 return llvm::omp::Clause::OMPC_severity;
5283if constexpr (std::is_same_v<A, parser::OmpClause::Shared>)
5284 return llvm::omp::Clause::OMPC_shared;
5285if constexpr (std::is_same_v<A, parser::OmpClause::Simd>)
5286 return llvm::omp::Clause::OMPC_simd;
5287if constexpr (std::is_same_v<A, parser::OmpClause::Simdlen>)
5288 return llvm::omp::Clause::OMPC_simdlen;
5289if constexpr (std::is_same_v<A, parser::OmpClause::Sizes>)
5290 return llvm::omp::Clause::OMPC_sizes;
5291if constexpr (std::is_same_v<A, parser::OmpClause::TaskReduction>)
5292 return llvm::omp::Clause::OMPC_task_reduction;
5293if constexpr (std::is_same_v<A, parser::OmpClause::ThreadLimit>)
5294 return llvm::omp::Clause::OMPC_thread_limit;
5295if constexpr (std::is_same_v<A, parser::OmpClause::Threadprivate>)
5296 return llvm::omp::Clause::OMPC_threadprivate;
5297if constexpr (std::is_same_v<A, parser::OmpClause::Threads>)
5298 return llvm::omp::Clause::OMPC_threads;
5299if constexpr (std::is_same_v<A, parser::OmpClause::Threadset>)
5300 return llvm::omp::Clause::OMPC_threadset;
5301if constexpr (std::is_same_v<A, parser::OmpClause::To>)
5302 return llvm::omp::Clause::OMPC_to;
5303if constexpr (std::is_same_v<A, parser::OmpClause::Transparent>)
5304 return llvm::omp::Clause::OMPC_transparent;
5305if constexpr (std::is_same_v<A, parser::OmpClause::UnifiedAddress>)
5306 return llvm::omp::Clause::OMPC_unified_address;
5307if constexpr (std::is_same_v<A, parser::OmpClause::UnifiedSharedMemory>)
5308 return llvm::omp::Clause::OMPC_unified_shared_memory;
5309if constexpr (std::is_same_v<A, parser::OmpClause::Uniform>)
5310 return llvm::omp::Clause::OMPC_uniform;
5311if constexpr (std::is_same_v<A, parser::OmpClause::Unknown>)
5312 return llvm::omp::Clause::OMPC_unknown;
5313if constexpr (std::is_same_v<A, parser::OmpClause::Untied>)
5314 return llvm::omp::Clause::OMPC_untied;
5315if constexpr (std::is_same_v<A, parser::OmpClause::Update>)
5316 return llvm::omp::Clause::OMPC_update;
5317if constexpr (std::is_same_v<A, parser::OmpClause::Use>)
5318 return llvm::omp::Clause::OMPC_use;
5319if constexpr (std::is_same_v<A, parser::OmpClause::UseDeviceAddr>)
5320 return llvm::omp::Clause::OMPC_use_device_addr;
5321if constexpr (std::is_same_v<A, parser::OmpClause::UseDevicePtr>)
5322 return llvm::omp::Clause::OMPC_use_device_ptr;
5323if constexpr (std::is_same_v<A, parser::OmpClause::UsesAllocators>)
5324 return llvm::omp::Clause::OMPC_uses_allocators;
5325if constexpr (std::is_same_v<A, parser::OmpClause::Weak>)
5326 return llvm::omp::Clause::OMPC_weak;
5327if constexpr (std::is_same_v<A, parser::OmpClause::When>)
5328 return llvm::omp::Clause::OMPC_when;
5329if constexpr (std::is_same_v<A, parser::OmpClause::Write>)
5330 return llvm::omp::Clause::OMPC_write;
5331llvm_unreachable("Invalid OpenMP Parser clause");
5332
5333#endif // GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5334
5335#ifdef GEN_FLANG_CLAUSES_PARSER
5336#undef GEN_FLANG_CLAUSES_PARSER
5337
5338TYPE_PARSER(
5339 "write" >> construct<OmpClause>(construct<OmpClause::Write>()) ||
5340 "when" >> construct<OmpClause>(construct<OmpClause::When>(parenthesized(Parser<OmpWhenClause>{}))) ||
5341 "weak" >> construct<OmpClause>(construct<OmpClause::Weak>()) ||
5342 "uses_allocators" >> construct<OmpClause>(construct<OmpClause::UsesAllocators>()) ||
5343 "use_device_ptr" >> construct<OmpClause>(construct<OmpClause::UseDevicePtr>(parenthesized(Parser<OmpObjectList>{}))) ||
5344 "use_device_addr" >> construct<OmpClause>(construct<OmpClause::UseDeviceAddr>(parenthesized(Parser<OmpObjectList>{}))) ||
5345 "use" >> construct<OmpClause>(construct<OmpClause::Use>(parenthesized(Parser<OmpUseClause>{}))) ||
5346 "update" >> construct<OmpClause>(construct<OmpClause::Update>(maybe(parenthesized(Parser<OmpUpdateClause>{})))) ||
5347 "untied" >> construct<OmpClause>(construct<OmpClause::Untied>()) ||
5348 "unknown" >> construct<OmpClause>(construct<OmpClause::Unknown>()) ||
5349 "uniform" >> construct<OmpClause>(construct<OmpClause::Uniform>(parenthesized(nonemptyList(name)))) ||
5350 "unified_shared_memory" >> construct<OmpClause>(construct<OmpClause::UnifiedSharedMemory>(maybe(parenthesized(Parser<OmpUnifiedSharedMemoryClause>{})))) ||
5351 "unified_address" >> construct<OmpClause>(construct<OmpClause::UnifiedAddress>(maybe(parenthesized(Parser<OmpUnifiedAddressClause>{})))) ||
5352 "transparent" >> construct<OmpClause>(construct<OmpClause::Transparent>(maybe(parenthesized(Parser<OmpTransparentClause>{})))) ||
5353 "to" >> construct<OmpClause>(construct<OmpClause::To>(parenthesized(Parser<OmpToClause>{}))) ||
5354 "threadset" >> construct<OmpClause>(construct<OmpClause::Threadset>(parenthesized(Parser<OmpThreadsetClause>{}))) ||
5355 "threads" >> construct<OmpClause>(construct<OmpClause::Threads>()) ||
5356 "threadprivate" >> construct<OmpClause>(construct<OmpClause::Threadprivate>()) ||
5357 "thread_limit" >> construct<OmpClause>(construct<OmpClause::ThreadLimit>(parenthesized(Parser<OmpThreadLimitClause>{}))) ||
5358 "task_reduction" >> construct<OmpClause>(construct<OmpClause::TaskReduction>(parenthesized(Parser<OmpTaskReductionClause>{}))) ||
5359 "sizes" >> construct<OmpClause>(construct<OmpClause::Sizes>(parenthesized(nonemptyList(scalarIntExpr)))) ||
5360 "simdlen" >> construct<OmpClause>(construct<OmpClause::Simdlen>(parenthesized(scalarIntConstantExpr))) ||
5361 "simd" >> construct<OmpClause>(construct<OmpClause::Simd>()) ||
5362 "shared" >> construct<OmpClause>(construct<OmpClause::Shared>(parenthesized(Parser<OmpObjectList>{}))) ||
5363 "severity" >> construct<OmpClause>(construct<OmpClause::Severity>(parenthesized(Parser<OmpSeverityClause>{}))) ||
5364 "seq_cst" >> construct<OmpClause>(construct<OmpClause::SeqCst>()) ||
5365 "self_maps" >> construct<OmpClause>(construct<OmpClause::SelfMaps>(maybe(parenthesized(Parser<OmpSelfMapsClause>{})))) ||
5366 "schedule" >> construct<OmpClause>(construct<OmpClause::Schedule>(parenthesized(Parser<OmpScheduleClause>{}))) ||
5367 "safesync" >> construct<OmpClause>(construct<OmpClause::Safesync>()) ||
5368 "safelen" >> construct<OmpClause>(construct<OmpClause::Safelen>(parenthesized(scalarIntConstantExpr))) ||
5369 "reverse_offload" >> construct<OmpClause>(construct<OmpClause::ReverseOffload>(maybe(parenthesized(Parser<OmpReverseOffloadClause>{})))) ||
5370 "replayable" >> construct<OmpClause>(construct<OmpClause::Replayable>(maybe(parenthesized(Parser<OmpReplayableClause>{})))) ||
5371 "release" >> construct<OmpClause>(construct<OmpClause::Release>()) ||
5372 "relaxed" >> construct<OmpClause>(construct<OmpClause::Relaxed>()) ||
5373 "reduction" >> construct<OmpClause>(construct<OmpClause::Reduction>(parenthesized(Parser<OmpReductionClause>{}))) ||
5374 "read" >> construct<OmpClause>(construct<OmpClause::Read>()) ||
5375 "proc_bind" >> construct<OmpClause>(construct<OmpClause::ProcBind>(parenthesized(Parser<OmpProcBindClause>{}))) ||
5376 "private" >> construct<OmpClause>(construct<OmpClause::Private>(parenthesized(Parser<OmpObjectList>{}))) ||
5377 "priority" >> construct<OmpClause>(construct<OmpClause::Priority>(parenthesized(scalarIntExpr))) ||
5378 "permutation" >> construct<OmpClause>(construct<OmpClause::Permutation>(parenthesized(nonemptyList(scalarIntConstantExpr)))) ||
5379 "partial" >> construct<OmpClause>(construct<OmpClause::Partial>(maybe(parenthesized(scalarIntConstantExpr)))) ||
5380 "otherwise" >> construct<OmpClause>(construct<OmpClause::Otherwise>(maybe(parenthesized(Parser<OmpOtherwiseClause>{})))) ||
5381 "ordered" >> construct<OmpClause>(construct<OmpClause::Ordered>(maybe(parenthesized(scalarIntConstantExpr)))) ||
5382 "order" >> construct<OmpClause>(construct<OmpClause::Order>(parenthesized(Parser<OmpOrderClause>{}))) ||
5383 "ompx_dyn_cgroup_mem" >> construct<OmpClause>(construct<OmpClause::OmpxDynCgroupMem>(parenthesized(scalarIntExpr))) ||
5384 "ompx_bare" >> construct<OmpClause>(construct<OmpClause::OmpxBare>()) ||
5385 "ompx_attribute" >> construct<OmpClause>(construct<OmpClause::OmpxAttribute>()) ||
5386 "num_threads" >> construct<OmpClause>(construct<OmpClause::NumThreads>(parenthesized(Parser<OmpNumThreadsClause>{}))) ||
5387 "num_teams" >> construct<OmpClause>(construct<OmpClause::NumTeams>(parenthesized(Parser<OmpNumTeamsClause>{}))) ||
5388 "num_tasks" >> construct<OmpClause>(construct<OmpClause::NumTasks>(parenthesized(Parser<OmpNumTasksClause>{}))) ||
5389 "nowait" >> construct<OmpClause>(construct<OmpClause::Nowait>()) ||
5390 "novariants" >> construct<OmpClause>(construct<OmpClause::Novariants>(parenthesized(scalarLogicalExpr))) ||
5391 "notinbranch" >> construct<OmpClause>(construct<OmpClause::Notinbranch>()) ||
5392 "nontemporal" >> construct<OmpClause>(construct<OmpClause::Nontemporal>(parenthesized(Parser<OmpObjectList>{}))) ||
5393 "nogroup" >> construct<OmpClause>(construct<OmpClause::Nogroup>()) ||
5394 "nocontext" >> construct<OmpClause>(construct<OmpClause::Nocontext>(parenthesized(scalarLogicalExpr))) ||
5395 "no_parallelism" >> construct<OmpClause>(construct<OmpClause::NoParallelism>()) ||
5396 "no_openmp_routines" >> construct<OmpClause>(construct<OmpClause::NoOpenmpRoutines>()) ||
5397 "no_openmp_constructs" >> construct<OmpClause>(construct<OmpClause::NoOpenmpConstructs>()) ||
5398 "no_openmp" >> construct<OmpClause>(construct<OmpClause::NoOpenmp>()) ||
5399 "message" >> construct<OmpClause>(construct<OmpClause::Message>(parenthesized(Parser<OmpMessageClause>{}))) ||
5400 "mergeable" >> construct<OmpClause>(construct<OmpClause::Mergeable>()) ||
5401 "memscope" >> construct<OmpClause>(construct<OmpClause::Memscope>()) ||
5402 "memory_order" >> construct<OmpClause>(construct<OmpClause::MemoryOrder>()) ||
5403 "match" >> construct<OmpClause>(construct<OmpClause::Match>(parenthesized(Parser<OmpMatchClause>{}))) ||
5404 "map" >> construct<OmpClause>(construct<OmpClause::Map>(parenthesized(Parser<OmpMapClause>{}))) ||
5405 "looprange" >> construct<OmpClause>(construct<OmpClause::Looprange>(parenthesized(Parser<OmpLooprangeClause>{}))) ||
5406 "local" >> construct<OmpClause>(construct<OmpClause::Local>()) ||
5407 "link" >> construct<OmpClause>(construct<OmpClause::Link>(parenthesized(Parser<OmpObjectList>{}))) ||
5408 "linear" >> construct<OmpClause>(construct<OmpClause::Linear>(parenthesized(Parser<OmpLinearClause>{}))) ||
5409 "lastprivate" >> construct<OmpClause>(construct<OmpClause::Lastprivate>(parenthesized(Parser<OmpLastprivateClause>{}))) ||
5410 "is_device_ptr" >> construct<OmpClause>(construct<OmpClause::IsDevicePtr>(parenthesized(Parser<OmpObjectList>{}))) ||
5411 "interop" >> construct<OmpClause>(construct<OmpClause::Interop>()) ||
5412 "initializer" >> construct<OmpClause>(construct<OmpClause::Initializer>(parenthesized(Parser<OmpInitializerClause>{}))) ||
5413 "init_complete" >> construct<OmpClause>(construct<OmpClause::InitComplete>()) ||
5414 "init" >> construct<OmpClause>(construct<OmpClause::Init>(parenthesized(Parser<OmpInitClause>{}))) ||
5415 "inductor" >> construct<OmpClause>(construct<OmpClause::Inductor>()) ||
5416 "induction" >> construct<OmpClause>(construct<OmpClause::Induction>()) ||
5417 "indirect" >> construct<OmpClause>(construct<OmpClause::Indirect>(parenthesized(Parser<OmpIndirectClause>{}))) ||
5418 "inclusive" >> construct<OmpClause>(construct<OmpClause::Inclusive>(parenthesized(Parser<OmpObjectList>{}))) ||
5419 "inbranch" >> construct<OmpClause>(construct<OmpClause::Inbranch>()) ||
5420 "in_reduction" >> construct<OmpClause>(construct<OmpClause::InReduction>(parenthesized(Parser<OmpInReductionClause>{}))) ||
5421 "if" >> construct<OmpClause>(construct<OmpClause::If>(parenthesized(Parser<OmpIfClause>{}))) ||
5422 "holds" >> construct<OmpClause>(construct<OmpClause::Holds>(parenthesized(Parser<OmpHoldsClause>{}))) ||
5423 "hint" >> construct<OmpClause>(construct<OmpClause::Hint>(parenthesized(Parser<OmpHintClause>{}))) ||
5424 "has_device_addr" >> construct<OmpClause>(construct<OmpClause::HasDeviceAddr>(parenthesized(Parser<OmpObjectList>{}))) ||
5425 "groupprivate" >> construct<OmpClause>(construct<OmpClause::Groupprivate>()) ||
5426 "graph_reset" >> construct<OmpClause>(construct<OmpClause::GraphReset>(maybe(parenthesized(Parser<OmpGraphResetClause>{})))) ||
5427 "graph_id" >> construct<OmpClause>(construct<OmpClause::GraphId>(parenthesized(Parser<OmpGraphIdClause>{}))) ||
5428 "grainsize" >> construct<OmpClause>(construct<OmpClause::Grainsize>(parenthesized(Parser<OmpGrainsizeClause>{}))) ||
5429 "full" >> construct<OmpClause>(construct<OmpClause::Full>()) ||
5430 "from" >> construct<OmpClause>(construct<OmpClause::From>(parenthesized(Parser<OmpFromClause>{}))) ||
5431 "flush" >> construct<OmpClause>(construct<OmpClause::Flush>()) ||
5432 "firstprivate" >> construct<OmpClause>(construct<OmpClause::Firstprivate>(parenthesized(Parser<OmpObjectList>{}))) ||
5433 "final" >> construct<OmpClause>(construct<OmpClause::Final>(parenthesized(scalarLogicalExpr))) ||
5434 "filter" >> construct<OmpClause>(construct<OmpClause::Filter>(parenthesized(scalarIntExpr))) ||
5435 "fail" >> construct<OmpClause>(construct<OmpClause::Fail>(parenthesized(Parser<OmpFailClause>{}))) ||
5436 "exclusive" >> construct<OmpClause>(construct<OmpClause::Exclusive>(parenthesized(Parser<OmpObjectList>{}))) ||
5437 "enter" >> construct<OmpClause>(construct<OmpClause::Enter>(parenthesized(Parser<OmpEnterClause>{}))) ||
5438 "dynamic_allocators" >> construct<OmpClause>(construct<OmpClause::DynamicAllocators>(maybe(parenthesized(Parser<OmpDynamicAllocatorsClause>{})))) ||
5439 "dyn_groupprivate" >> construct<OmpClause>(construct<OmpClause::DynGroupprivate>(parenthesized(Parser<OmpDynGroupprivateClause>{}))) ||
5440 "doacross" >> construct<OmpClause>(construct<OmpClause::Doacross>(parenthesized(Parser<OmpDoacrossClause>{}))) ||
5441 "dist_schedule" >> construct<OmpClause>(construct<OmpClause::DistSchedule>(maybe(parenthesized(scalarIntExpr)))) ||
5442 "device_type" >> construct<OmpClause>(construct<OmpClause::DeviceType>(parenthesized(Parser<OmpDeviceTypeClause>{}))) ||
5443 "device_safesync" >> construct<OmpClause>(construct<OmpClause::DeviceSafesync>(maybe(parenthesized(Parser<OmpDeviceSafesyncClause>{})))) ||
5444 "device" >> construct<OmpClause>(construct<OmpClause::Device>(parenthesized(Parser<OmpDeviceClause>{}))) ||
5445 "detach" >> construct<OmpClause>(construct<OmpClause::Detach>(parenthesized(Parser<OmpDetachClause>{}))) ||
5446 "destroy" >> construct<OmpClause>(construct<OmpClause::Destroy>(maybe(parenthesized(Parser<OmpDestroyClause>{})))) ||
5447 "depth" >> construct<OmpClause>(construct<OmpClause::Depth>(parenthesized(scalarIntConstantExpr))) ||
5448 "depobj" >> construct<OmpClause>(construct<OmpClause::Depobj>()) ||
5449 "depend" >> construct<OmpClause>(construct<OmpClause::Depend>(parenthesized(Parser<OmpDependClause>{}))) ||
5450 "defaultmap" >> construct<OmpClause>(construct<OmpClause::Defaultmap>(parenthesized(Parser<OmpDefaultmapClause>{}))) ||
5451 "default" >> construct<OmpClause>(construct<OmpClause::Default>(parenthesized(Parser<OmpDefaultClause>{}))) ||
5452 "counts" >> construct<OmpClause>(construct<OmpClause::Counts>()) ||
5453 "copyprivate" >> construct<OmpClause>(construct<OmpClause::Copyprivate>(parenthesized(Parser<OmpObjectList>{}))) ||
5454 "copyin" >> construct<OmpClause>(construct<OmpClause::Copyin>(parenthesized(Parser<OmpObjectList>{}))) ||
5455 "contains" >> construct<OmpClause>(construct<OmpClause::Contains>(parenthesized(Parser<OmpContainsClause>{}))) ||
5456 "compare" >> construct<OmpClause>(construct<OmpClause::Compare>()) ||
5457 "combiner" >> construct<OmpClause>(construct<OmpClause::Combiner>(parenthesized(Parser<OmpCombinerClause>{}))) ||
5458 "collector" >> construct<OmpClause>(construct<OmpClause::Collector>()) ||
5459 "collapse" >> construct<OmpClause>(construct<OmpClause::Collapse>(parenthesized(scalarIntConstantExpr))) ||
5460 "capture" >> construct<OmpClause>(construct<OmpClause::Capture>()) ||
5461 "cancellation_construct_type" >> construct<OmpClause>(construct<OmpClause::CancellationConstructType>(parenthesized(Parser<OmpCancellationConstructTypeClause>{}))) ||
5462 "bind" >> construct<OmpClause>(construct<OmpClause::Bind>(parenthesized(Parser<OmpBindClause>{}))) ||
5463 "atomic_default_mem_order" >> construct<OmpClause>(construct<OmpClause::AtomicDefaultMemOrder>(parenthesized(Parser<OmpAtomicDefaultMemOrderClause>{}))) ||
5464 "at" >> construct<OmpClause>(construct<OmpClause::At>(parenthesized(Parser<OmpAtClause>{}))) ||
5465 "apply" >> construct<OmpClause>(construct<OmpClause::Apply>()) ||
5466 "append_args" >> construct<OmpClause>(construct<OmpClause::AppendArgs>(parenthesized(Parser<OmpAppendArgsClause>{}))) ||
5467 "allocator" >> construct<OmpClause>(construct<OmpClause::Allocator>(parenthesized(scalarIntExpr))) ||
5468 "allocate" >> construct<OmpClause>(construct<OmpClause::Allocate>(parenthesized(Parser<OmpAllocateClause>{}))) ||
5469 "aligned" >> construct<OmpClause>(construct<OmpClause::Aligned>(parenthesized(Parser<OmpAlignedClause>{}))) ||
5470 "align" >> construct<OmpClause>(construct<OmpClause::Align>(parenthesized(Parser<OmpAlignClause>{}))) ||
5471 "affinity" >> construct<OmpClause>(construct<OmpClause::Affinity>(parenthesized(Parser<OmpAffinityClause>{}))) ||
5472 "adjust_args" >> construct<OmpClause>(construct<OmpClause::AdjustArgs>(parenthesized(Parser<OmpAdjustArgsClause>{}))) ||
5473 "acquire" >> construct<OmpClause>(construct<OmpClause::Acquire>()) ||
5474 "acq_rel" >> construct<OmpClause>(construct<OmpClause::AcqRel>()) ||
5475 "absent" >> construct<OmpClause>(construct<OmpClause::Absent>(parenthesized(Parser<OmpAbsentClause>{})))
5476)
5477
5478#endif // GEN_FLANG_CLAUSES_PARSER
5479
5480#ifdef GEN_CLANG_CLAUSE_CLASS
5481#undef GEN_CLANG_CLAUSE_CLASS
5482
5483#ifndef CLAUSE
5484#define CLAUSE(Enum, Str, Implicit)
5485#endif
5486#ifndef CLAUSE_CLASS
5487#define CLAUSE_CLASS(Enum, Str, Class)
5488#endif
5489#ifndef CLAUSE_NO_CLASS
5490#define CLAUSE_NO_CLASS(Enum, Str)
5491#endif
5492
5493#define __CLAUSE(Name, Class) \
5494 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
5495 CLAUSE_CLASS(OMPC_##Name, #Name, Class)
5496#define __CLAUSE_NO_CLASS(Name) \
5497 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
5498 CLAUSE_NO_CLASS(OMPC_##Name, #Name)
5499#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \
5500 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
5501 CLAUSE_CLASS(OMPC_##Name, Str, Class)
5502#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \
5503 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
5504 CLAUSE_NO_CLASS(OMPC_##Name, Str)
5505
5506__CLAUSE(absent, OMPAbsentClause)
5507__CLAUSE(acq_rel, OMPAcqRelClause)
5508__CLAUSE(acquire, OMPAcquireClause)
5509__CLAUSE_NO_CLASS(adjust_args)
5510__CLAUSE(affinity, OMPAffinityClause)
5511__CLAUSE(align, OMPAlignClause)
5512__CLAUSE(aligned, OMPAlignedClause)
5513__CLAUSE(allocate, OMPAllocateClause)
5514__CLAUSE(allocator, OMPAllocatorClause)
5515__CLAUSE_NO_CLASS(append_args)
5516__CLAUSE_NO_CLASS(apply)
5517__CLAUSE(at, OMPAtClause)
5518__CLAUSE(atomic_default_mem_order, OMPAtomicDefaultMemOrderClause)
5519__CLAUSE(bind, OMPBindClause)
5520__CLAUSE_NO_CLASS(cancellation_construct_type)
5521__CLAUSE(capture, OMPCaptureClause)
5522__CLAUSE(collapse, OMPCollapseClause)
5523__CLAUSE_NO_CLASS(collector)
5524__CLAUSE_NO_CLASS(combiner)
5525__CLAUSE(compare, OMPCompareClause)
5526__CLAUSE(contains, OMPContainsClause)
5527__CLAUSE(copyprivate, OMPCopyprivateClause)
5528__CLAUSE(copyin, OMPCopyinClause)
5529__CLAUSE(counts, OMPCountsClause)
5530__CLAUSE(default, OMPDefaultClause)
5531__CLAUSE(defaultmap, OMPDefaultmapClause)
5532__CLAUSE(depend, OMPDependClause)
5533__IMPLICIT_CLAUSE_CLASS(depobj, "depobj", OMPDepobjClause)
5534__CLAUSE_NO_CLASS(depth)
5535__CLAUSE(destroy, OMPDestroyClause)
5536__CLAUSE(detach, OMPDetachClause)
5537__CLAUSE(device, OMPDeviceClause)
5538__CLAUSE_NO_CLASS(device_safesync)
5539__CLAUSE_NO_CLASS(device_type)
5540__CLAUSE(dist_schedule, OMPDistScheduleClause)
5541__CLAUSE(doacross, OMPDoacrossClause)
5542__CLAUSE(dyn_groupprivate, OMPDynGroupprivateClause)
5543__CLAUSE(dynamic_allocators, OMPDynamicAllocatorsClause)
5544__CLAUSE_NO_CLASS(enter)
5545__CLAUSE(exclusive, OMPExclusiveClause)
5546__CLAUSE(fail, OMPFailClause)
5547__CLAUSE(filter, OMPFilterClause)
5548__CLAUSE(final, OMPFinalClause)
5549__CLAUSE(firstprivate, OMPFirstprivateClause)
5550__IMPLICIT_CLAUSE_CLASS(flush, "flush", OMPFlushClause)
5551__CLAUSE(from, OMPFromClause)
5552__CLAUSE(full, OMPFullClause)
5553__CLAUSE(grainsize, OMPGrainsizeClause)
5554__CLAUSE_NO_CLASS(graph_id)
5555__CLAUSE_NO_CLASS(graph_reset)
5556__IMPLICIT_CLAUSE_NO_CLASS(groupprivate, "groupprivate")
5557__CLAUSE(has_device_addr, OMPHasDeviceAddrClause)
5558__CLAUSE(hint, OMPHintClause)
5559__CLAUSE(holds, OMPHoldsClause)
5560__CLAUSE(if, OMPIfClause)
5561__CLAUSE(in_reduction, OMPInReductionClause)
5562__CLAUSE_NO_CLASS(inbranch)
5563__CLAUSE(inclusive, OMPInclusiveClause)
5564__CLAUSE_NO_CLASS(indirect)
5565__CLAUSE_NO_CLASS(induction)
5566__CLAUSE_NO_CLASS(inductor)
5567__CLAUSE(init, OMPInitClause)
5568__CLAUSE_NO_CLASS(init_complete)
5569__CLAUSE_NO_CLASS(initializer)
5570__CLAUSE_NO_CLASS(interop)
5571__CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
5572__CLAUSE(lastprivate, OMPLastprivateClause)
5573__CLAUSE(linear, OMPLinearClause)
5574__CLAUSE_NO_CLASS(link)
5575__CLAUSE_NO_CLASS(local)
5576__CLAUSE(looprange, OMPLoopRangeClause)
5577__CLAUSE(map, OMPMapClause)
5578__CLAUSE_NO_CLASS(match)
5579__CLAUSE_NO_CLASS(memory_order)
5580__CLAUSE_NO_CLASS(memscope)
5581__CLAUSE(mergeable, OMPMergeableClause)
5582__CLAUSE(message, OMPMessageClause)
5583__CLAUSE(nogroup, OMPNogroupClause)
5584__CLAUSE(no_openmp, OMPNoOpenMPClause)
5585__CLAUSE(no_openmp_constructs, OMPNoOpenMPConstructsClause)
5586__CLAUSE(no_openmp_routines, OMPNoOpenMPRoutinesClause)
5587__CLAUSE(no_parallelism, OMPNoParallelismClause)
5588__CLAUSE(nowait, OMPNowaitClause)
5589__CLAUSE(nocontext, OMPNocontextClause)
5590__CLAUSE(nontemporal, OMPNontemporalClause)
5591__CLAUSE_NO_CLASS(notinbranch)
5592__CLAUSE(novariants, OMPNovariantsClause)
5593__CLAUSE(num_tasks, OMPNumTasksClause)
5594__CLAUSE(num_teams, OMPNumTeamsClause)
5595__CLAUSE(num_threads, OMPNumThreadsClause)
5596__CLAUSE(ompx_attribute, OMPXAttributeClause)
5597__CLAUSE(ompx_bare, OMPXBareClause)
5598__CLAUSE(ompx_dyn_cgroup_mem, OMPXDynCGroupMemClause)
5599__CLAUSE(order, OMPOrderClause)
5600__CLAUSE(ordered, OMPOrderedClause)
5601__CLAUSE_NO_CLASS(otherwise)
5602__CLAUSE(partial, OMPPartialClause)
5603__CLAUSE(permutation, OMPPermutationClause)
5604__CLAUSE(priority, OMPPriorityClause)
5605__CLAUSE(private, OMPPrivateClause)
5606__CLAUSE(proc_bind, OMPProcBindClause)
5607__CLAUSE(read, OMPReadClause)
5608__CLAUSE(reduction, OMPReductionClause)
5609__CLAUSE(relaxed, OMPRelaxedClause)
5610__CLAUSE(release, OMPReleaseClause)
5611__CLAUSE_NO_CLASS(replayable)
5612__CLAUSE(reverse_offload, OMPReverseOffloadClause)
5613__CLAUSE(safelen, OMPSafelenClause)
5614__CLAUSE_NO_CLASS(safesync)
5615__CLAUSE(schedule, OMPScheduleClause)
5616__CLAUSE(self_maps, OMPSelfMapsClause)
5617__CLAUSE(seq_cst, OMPSeqCstClause)
5618__CLAUSE(severity, OMPSeverityClause)
5619__CLAUSE(shared, OMPSharedClause)
5620__CLAUSE(simd, OMPSIMDClause)
5621__CLAUSE(simdlen, OMPSimdlenClause)
5622__CLAUSE(sizes, OMPSizesClause)
5623__CLAUSE(task_reduction, OMPTaskReductionClause)
5624__CLAUSE(thread_limit, OMPThreadLimitClause)
5625__IMPLICIT_CLAUSE_NO_CLASS(threadprivate, "threadprivate")
5626__CLAUSE(threads, OMPThreadsClause)
5627__CLAUSE(threadset, OMPThreadsetClause)
5628__CLAUSE(to, OMPToClause)
5629__CLAUSE(transparent, OMPTransparentClause)
5630__CLAUSE(unified_address, OMPUnifiedAddressClause)
5631__CLAUSE(unified_shared_memory, OMPUnifiedSharedMemoryClause)
5632__CLAUSE_NO_CLASS(uniform)
5633__IMPLICIT_CLAUSE_NO_CLASS(unknown, "unknown")
5634__CLAUSE(untied, OMPUntiedClause)
5635__CLAUSE(update, OMPUpdateClause)
5636__CLAUSE(use, OMPUseClause)
5637__CLAUSE(use_device_addr, OMPUseDeviceAddrClause)
5638__CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
5639__CLAUSE(uses_allocators, OMPUsesAllocatorsClause)
5640__CLAUSE(weak, OMPWeakClause)
5641__CLAUSE_NO_CLASS(when)
5642__CLAUSE(write, OMPWriteClause)
5643
5644#undef __IMPLICIT_CLAUSE_NO_CLASS
5645#undef __IMPLICIT_CLAUSE_CLASS
5646#undef __CLAUSE_NO_CLASS
5647#undef __CLAUSE
5648#undef CLAUSE_NO_CLASS
5649#undef CLAUSE_CLASS
5650#undef CLAUSE
5651
5652#endif // GEN_CLANG_CLAUSE_CLASS
5653
5654#ifdef GEN_DIRECTIVES_IMPL
5655#undef GEN_DIRECTIVES_IMPL
5656
5657#include "llvm/Frontend/Directive/Spelling.h"
5658#include "llvm/Support/ErrorHandling.h"
5659#include <utility>
5660
5661std::pair<llvm::omp::Directive, llvm::directive::VersionRange> llvm::omp::getOpenMPDirectiveKindAndVersions(llvm::StringRef Str) {
5662 directive::VersionRange All; // Default-initialized to "all versions"
5663 return StringSwitch<std::pair<Directive, directive::VersionRange>>(Str)
5664 .Case("allocate", {OMPD_allocate, All})
5665 .Case("allocators", {OMPD_allocators, All})
5666 .Case("assume", {OMPD_assume, All})
5667 .Case("assumes", {OMPD_assumes, All})
5668 .Case("atomic", {OMPD_atomic, All})
5669 .Case("barrier", {OMPD_barrier, All})
5670 .Case("begin assumes", {OMPD_begin_assumes, All})
5671 .Case("begin declare target", {OMPD_begin_declare_target, {1, 52}})
5672 .Case("begin declare_target", {OMPD_begin_declare_target, {60, 2147483647}})
5673 .Case("begin declare variant", {OMPD_begin_declare_variant, {1, 52}})
5674 .Case("begin declare_variant", {OMPD_begin_declare_variant, {60, 2147483647}})
5675 .Case("cancel", {OMPD_cancel, All})
5676 .Case("cancellation point", {OMPD_cancellation_point, {1, 52}})
5677 .Case("cancellation_point", {OMPD_cancellation_point, {60, 2147483647}})
5678 .Case("critical", {OMPD_critical, All})
5679 .Case("declare_induction", {OMPD_declare_induction, All})
5680 .Case("declare mapper", {OMPD_declare_mapper, {1, 52}})
5681 .Case("declare_mapper", {OMPD_declare_mapper, {60, 2147483647}})
5682 .Case("declare reduction", {OMPD_declare_reduction, {1, 52}})
5683 .Case("declare_reduction", {OMPD_declare_reduction, {60, 2147483647}})
5684 .Case("declare simd", {OMPD_declare_simd, {1, 52}})
5685 .Case("declare_simd", {OMPD_declare_simd, {60, 2147483647}})
5686 .Case("declare target", {OMPD_declare_target, {1, 52}})
5687 .Case("declare_target", {OMPD_declare_target, {60, 2147483647}})
5688 .Case("declare variant", {OMPD_declare_variant, {1, 52}})
5689 .Case("declare_variant", {OMPD_declare_variant, {60, 2147483647}})
5690 .Case("depobj", {OMPD_depobj, All})
5691 .Case("distribute", {OMPD_distribute, All})
5692 .Case("distribute parallel do", {OMPD_distribute_parallel_do, All})
5693 .Case("distribute parallel do simd", {OMPD_distribute_parallel_do_simd, All})
5694 .Case("distribute parallel for", {OMPD_distribute_parallel_for, All})
5695 .Case("distribute parallel for simd", {OMPD_distribute_parallel_for_simd, All})
5696 .Case("distribute simd", {OMPD_distribute_simd, All})
5697 .Case("do", {OMPD_do, All})
5698 .Case("do simd", {OMPD_do_simd, All})
5699 .Case("end assumes", {OMPD_end_assumes, All})
5700 .Case("end declare target", {OMPD_end_declare_target, {1, 52}})
5701 .Case("end declare_target", {OMPD_end_declare_target, {60, 2147483647}})
5702 .Case("end declare variant", {OMPD_end_declare_variant, {1, 52}})
5703 .Case("end declare_variant", {OMPD_end_declare_variant, {60, 2147483647}})
5704 .Case("error", {OMPD_error, All})
5705 .Case("flatten", {OMPD_flatten, All})
5706 .Case("flush", {OMPD_flush, All})
5707 .Case("for", {OMPD_for, All})
5708 .Case("for simd", {OMPD_for_simd, All})
5709 .Case("fuse", {OMPD_fuse, All})
5710 .Case("groupprivate", {OMPD_groupprivate, All})
5711 .Case("interchange", {OMPD_interchange, All})
5712 .Case("masked taskloop", {OMPD_masked_taskloop, All})
5713 .Case("masked taskloop simd", {OMPD_masked_taskloop_simd, All})
5714 .Case("master", {OMPD_master, All})
5715 .Case("master taskloop", {OMPD_master_taskloop, All})
5716 .Case("master taskloop simd", {OMPD_master_taskloop_simd, All})
5717 .Case("metadirective", {OMPD_metadirective, All})
5718 .Case("nothing", {OMPD_nothing, All})
5719 .Case("ordered", {OMPD_ordered, All})
5720 .Case("parallel", {OMPD_parallel, All})
5721 .Case("parallel do", {OMPD_parallel_do, All})
5722 .Case("parallel do simd", {OMPD_parallel_do_simd, All})
5723 .Case("parallel for", {OMPD_parallel_for, All})
5724 .Case("parallel for simd", {OMPD_parallel_for_simd, All})
5725 .Case("parallel masked", {OMPD_parallel_masked, All})
5726 .Case("parallel masked taskloop", {OMPD_parallel_masked_taskloop, All})
5727 .Case("parallel masked taskloop simd", {OMPD_parallel_masked_taskloop_simd, All})
5728 .Case("parallel master", {OMPD_parallel_master, All})
5729 .Case("parallel master taskloop", {OMPD_parallel_master_taskloop, All})
5730 .Case("parallel master taskloop simd", {OMPD_parallel_master_taskloop_simd, All})
5731 .Case("parallel sections", {OMPD_parallel_sections, All})
5732 .Case("parallel workshare", {OMPD_parallel_workshare, All})
5733 .Case("requires", {OMPD_requires, All})
5734 .Case("reverse", {OMPD_reverse, All})
5735 .Case("scan", {OMPD_scan, All})
5736 .Case("scope", {OMPD_scope, All})
5737 .Case("section", {OMPD_section, All})
5738 .Case("sections", {OMPD_sections, All})
5739 .Case("simd", {OMPD_simd, All})
5740 .Case("single", {OMPD_single, All})
5741 .Case("split", {OMPD_split, All})
5742 .Case("stripe", {OMPD_stripe, All})
5743 .Case("target", {OMPD_target, All})
5744 .Case("target data", {OMPD_target_data, {1, 52}})
5745 .Case("target_data", {OMPD_target_data, {60, 2147483647}})
5746 .Case("target enter data", {OMPD_target_enter_data, {1, 52}})
5747 .Case("target_enter_data", {OMPD_target_enter_data, {60, 2147483647}})
5748 .Case("target exit data", {OMPD_target_exit_data, {1, 52}})
5749 .Case("target_exit_data", {OMPD_target_exit_data, {60, 2147483647}})
5750 .Case("target parallel", {OMPD_target_parallel, All})
5751 .Case("target parallel do", {OMPD_target_parallel_do, All})
5752 .Case("target parallel do simd", {OMPD_target_parallel_do_simd, All})
5753 .Case("target parallel for", {OMPD_target_parallel_for, All})
5754 .Case("target parallel for simd", {OMPD_target_parallel_for_simd, All})
5755 .Case("target simd", {OMPD_target_simd, All})
5756 .Case("target teams", {OMPD_target_teams, All})
5757 .Case("target teams distribute", {OMPD_target_teams_distribute, All})
5758 .Case("target teams distribute parallel do", {OMPD_target_teams_distribute_parallel_do, All})
5759 .Case("target teams distribute parallel do simd", {OMPD_target_teams_distribute_parallel_do_simd, All})
5760 .Case("target teams distribute parallel for", {OMPD_target_teams_distribute_parallel_for, All})
5761 .Case("target teams distribute parallel for simd", {OMPD_target_teams_distribute_parallel_for_simd, All})
5762 .Case("target teams distribute simd", {OMPD_target_teams_distribute_simd, All})
5763 .Case("target teams workdistribute", {OMPD_target_teams_workdistribute, All})
5764 .Case("target update", {OMPD_target_update, {1, 52}})
5765 .Case("target_update", {OMPD_target_update, {60, 2147483647}})
5766 .Case("task", {OMPD_task, All})
5767 .Case("taskgroup", {OMPD_taskgroup, All})
5768 .Case("taskloop", {OMPD_taskloop, All})
5769 .Case("taskloop simd", {OMPD_taskloop_simd, All})
5770 .Case("taskwait", {OMPD_taskwait, All})
5771 .Case("taskyield", {OMPD_taskyield, All})
5772 .Case("taskgraph", {OMPD_taskgraph, All})
5773 .Case("teams", {OMPD_teams, All})
5774 .Case("teams distribute", {OMPD_teams_distribute, All})
5775 .Case("teams distribute parallel do", {OMPD_teams_distribute_parallel_do, All})
5776 .Case("teams distribute parallel do simd", {OMPD_teams_distribute_parallel_do_simd, All})
5777 .Case("teams distribute parallel for", {OMPD_teams_distribute_parallel_for, All})
5778 .Case("teams distribute parallel for simd", {OMPD_teams_distribute_parallel_for_simd, All})
5779 .Case("teams distribute simd", {OMPD_teams_distribute_simd, All})
5780 .Case("teams workdistribute", {OMPD_teams_workdistribute, All})
5781 .Case("threadprivate", {OMPD_threadprivate, All})
5782 .Case("tile", {OMPD_tile, All})
5783 .Case("unknown", {OMPD_unknown, All})
5784 .Case("unroll", {OMPD_unroll, All})
5785 .Case("workdistribute", {OMPD_workdistribute, All})
5786 .Case("workshare", {OMPD_workshare, All})
5787 .Case("dispatch", {OMPD_dispatch, All})
5788 .Case("interop", {OMPD_interop, All})
5789 .Case("loop", {OMPD_loop, All})
5790 .Case("masked", {OMPD_masked, All})
5791 .Case("parallel loop", {OMPD_parallel_loop, All})
5792 .Case("target loop", {OMPD_target_loop, All})
5793 .Case("target parallel loop", {OMPD_target_parallel_loop, All})
5794 .Case("target teams loop", {OMPD_target_teams_loop, All})
5795 .Case("teams loop", {OMPD_teams_loop, All})
5796 .Default({OMPD_unknown, All});
5797}
5798
5799llvm::StringRef llvm::omp::getOpenMPDirectiveName(llvm::omp::Directive Kind, unsigned Version) {
5800 switch (Kind) {
5801 case OMPD_allocate:
5802 return "allocate";
5803 case OMPD_allocators:
5804 return "allocators";
5805 case OMPD_assume:
5806 return "assume";
5807 case OMPD_assumes:
5808 return "assumes";
5809 case OMPD_atomic:
5810 return "atomic";
5811 case OMPD_barrier:
5812 return "barrier";
5813 case OMPD_begin_assumes:
5814 return "begin assumes";
5815 case OMPD_begin_declare_target: {
5816 static constexpr llvm::directive::Spelling OMPD_begin_declare_target_spellings[] = {
5817 {"begin declare target", {1, 52}},
5818 {"begin declare_target", {60, 2147483647}},
5819 };
5820 return llvm::directive::FindName(OMPD_begin_declare_target_spellings, Version);
5821 }
5822 case OMPD_begin_declare_variant: {
5823 static constexpr llvm::directive::Spelling OMPD_begin_declare_variant_spellings[] = {
5824 {"begin declare variant", {1, 52}},
5825 {"begin declare_variant", {60, 2147483647}},
5826 };
5827 return llvm::directive::FindName(OMPD_begin_declare_variant_spellings, Version);
5828 }
5829 case OMPD_cancel:
5830 return "cancel";
5831 case OMPD_cancellation_point: {
5832 static constexpr llvm::directive::Spelling OMPD_cancellation_point_spellings[] = {
5833 {"cancellation point", {1, 52}},
5834 {"cancellation_point", {60, 2147483647}},
5835 };
5836 return llvm::directive::FindName(OMPD_cancellation_point_spellings, Version);
5837 }
5838 case OMPD_critical:
5839 return "critical";
5840 case OMPD_declare_induction:
5841 return "declare_induction";
5842 case OMPD_declare_mapper: {
5843 static constexpr llvm::directive::Spelling OMPD_declare_mapper_spellings[] = {
5844 {"declare mapper", {1, 52}},
5845 {"declare_mapper", {60, 2147483647}},
5846 };
5847 return llvm::directive::FindName(OMPD_declare_mapper_spellings, Version);
5848 }
5849 case OMPD_declare_reduction: {
5850 static constexpr llvm::directive::Spelling OMPD_declare_reduction_spellings[] = {
5851 {"declare reduction", {1, 52}},
5852 {"declare_reduction", {60, 2147483647}},
5853 };
5854 return llvm::directive::FindName(OMPD_declare_reduction_spellings, Version);
5855 }
5856 case OMPD_declare_simd: {
5857 static constexpr llvm::directive::Spelling OMPD_declare_simd_spellings[] = {
5858 {"declare simd", {1, 52}},
5859 {"declare_simd", {60, 2147483647}},
5860 };
5861 return llvm::directive::FindName(OMPD_declare_simd_spellings, Version);
5862 }
5863 case OMPD_declare_target: {
5864 static constexpr llvm::directive::Spelling OMPD_declare_target_spellings[] = {
5865 {"declare target", {1, 52}},
5866 {"declare_target", {60, 2147483647}},
5867 };
5868 return llvm::directive::FindName(OMPD_declare_target_spellings, Version);
5869 }
5870 case OMPD_declare_variant: {
5871 static constexpr llvm::directive::Spelling OMPD_declare_variant_spellings[] = {
5872 {"declare variant", {1, 52}},
5873 {"declare_variant", {60, 2147483647}},
5874 };
5875 return llvm::directive::FindName(OMPD_declare_variant_spellings, Version);
5876 }
5877 case OMPD_depobj:
5878 return "depobj";
5879 case OMPD_distribute:
5880 return "distribute";
5881 case OMPD_distribute_parallel_do:
5882 return "distribute parallel do";
5883 case OMPD_distribute_parallel_do_simd:
5884 return "distribute parallel do simd";
5885 case OMPD_distribute_parallel_for:
5886 return "distribute parallel for";
5887 case OMPD_distribute_parallel_for_simd:
5888 return "distribute parallel for simd";
5889 case OMPD_distribute_simd:
5890 return "distribute simd";
5891 case OMPD_do:
5892 return "do";
5893 case OMPD_do_simd:
5894 return "do simd";
5895 case OMPD_end_assumes:
5896 return "end assumes";
5897 case OMPD_end_declare_target: {
5898 static constexpr llvm::directive::Spelling OMPD_end_declare_target_spellings[] = {
5899 {"end declare target", {1, 52}},
5900 {"end declare_target", {60, 2147483647}},
5901 };
5902 return llvm::directive::FindName(OMPD_end_declare_target_spellings, Version);
5903 }
5904 case OMPD_end_declare_variant: {
5905 static constexpr llvm::directive::Spelling OMPD_end_declare_variant_spellings[] = {
5906 {"end declare variant", {1, 52}},
5907 {"end declare_variant", {60, 2147483647}},
5908 };
5909 return llvm::directive::FindName(OMPD_end_declare_variant_spellings, Version);
5910 }
5911 case OMPD_error:
5912 return "error";
5913 case OMPD_flatten:
5914 return "flatten";
5915 case OMPD_flush:
5916 return "flush";
5917 case OMPD_for:
5918 return "for";
5919 case OMPD_for_simd:
5920 return "for simd";
5921 case OMPD_fuse:
5922 return "fuse";
5923 case OMPD_groupprivate:
5924 return "groupprivate";
5925 case OMPD_interchange:
5926 return "interchange";
5927 case OMPD_masked_taskloop:
5928 return "masked taskloop";
5929 case OMPD_masked_taskloop_simd:
5930 return "masked taskloop simd";
5931 case OMPD_master:
5932 return "master";
5933 case OMPD_master_taskloop:
5934 return "master taskloop";
5935 case OMPD_master_taskloop_simd:
5936 return "master taskloop simd";
5937 case OMPD_metadirective:
5938 return "metadirective";
5939 case OMPD_nothing:
5940 return "nothing";
5941 case OMPD_ordered:
5942 return "ordered";
5943 case OMPD_parallel:
5944 return "parallel";
5945 case OMPD_parallel_do:
5946 return "parallel do";
5947 case OMPD_parallel_do_simd:
5948 return "parallel do simd";
5949 case OMPD_parallel_for:
5950 return "parallel for";
5951 case OMPD_parallel_for_simd:
5952 return "parallel for simd";
5953 case OMPD_parallel_masked:
5954 return "parallel masked";
5955 case OMPD_parallel_masked_taskloop:
5956 return "parallel masked taskloop";
5957 case OMPD_parallel_masked_taskloop_simd:
5958 return "parallel masked taskloop simd";
5959 case OMPD_parallel_master:
5960 return "parallel master";
5961 case OMPD_parallel_master_taskloop:
5962 return "parallel master taskloop";
5963 case OMPD_parallel_master_taskloop_simd:
5964 return "parallel master taskloop simd";
5965 case OMPD_parallel_sections:
5966 return "parallel sections";
5967 case OMPD_parallel_workshare:
5968 return "parallel workshare";
5969 case OMPD_requires:
5970 return "requires";
5971 case OMPD_reverse:
5972 return "reverse";
5973 case OMPD_scan:
5974 return "scan";
5975 case OMPD_scope:
5976 return "scope";
5977 case OMPD_section:
5978 return "section";
5979 case OMPD_sections:
5980 return "sections";
5981 case OMPD_simd:
5982 return "simd";
5983 case OMPD_single:
5984 return "single";
5985 case OMPD_split:
5986 return "split";
5987 case OMPD_stripe:
5988 return "stripe";
5989 case OMPD_target:
5990 return "target";
5991 case OMPD_target_data: {
5992 static constexpr llvm::directive::Spelling OMPD_target_data_spellings[] = {
5993 {"target data", {1, 52}},
5994 {"target_data", {60, 2147483647}},
5995 };
5996 return llvm::directive::FindName(OMPD_target_data_spellings, Version);
5997 }
5998 case OMPD_target_enter_data: {
5999 static constexpr llvm::directive::Spelling OMPD_target_enter_data_spellings[] = {
6000 {"target enter data", {1, 52}},
6001 {"target_enter_data", {60, 2147483647}},
6002 };
6003 return llvm::directive::FindName(OMPD_target_enter_data_spellings, Version);
6004 }
6005 case OMPD_target_exit_data: {
6006 static constexpr llvm::directive::Spelling OMPD_target_exit_data_spellings[] = {
6007 {"target exit data", {1, 52}},
6008 {"target_exit_data", {60, 2147483647}},
6009 };
6010 return llvm::directive::FindName(OMPD_target_exit_data_spellings, Version);
6011 }
6012 case OMPD_target_parallel:
6013 return "target parallel";
6014 case OMPD_target_parallel_do:
6015 return "target parallel do";
6016 case OMPD_target_parallel_do_simd:
6017 return "target parallel do simd";
6018 case OMPD_target_parallel_for:
6019 return "target parallel for";
6020 case OMPD_target_parallel_for_simd:
6021 return "target parallel for simd";
6022 case OMPD_target_simd:
6023 return "target simd";
6024 case OMPD_target_teams:
6025 return "target teams";
6026 case OMPD_target_teams_distribute:
6027 return "target teams distribute";
6028 case OMPD_target_teams_distribute_parallel_do:
6029 return "target teams distribute parallel do";
6030 case OMPD_target_teams_distribute_parallel_do_simd:
6031 return "target teams distribute parallel do simd";
6032 case OMPD_target_teams_distribute_parallel_for:
6033 return "target teams distribute parallel for";
6034 case OMPD_target_teams_distribute_parallel_for_simd:
6035 return "target teams distribute parallel for simd";
6036 case OMPD_target_teams_distribute_simd:
6037 return "target teams distribute simd";
6038 case OMPD_target_teams_workdistribute:
6039 return "target teams workdistribute";
6040 case OMPD_target_update: {
6041 static constexpr llvm::directive::Spelling OMPD_target_update_spellings[] = {
6042 {"target update", {1, 52}},
6043 {"target_update", {60, 2147483647}},
6044 };
6045 return llvm::directive::FindName(OMPD_target_update_spellings, Version);
6046 }
6047 case OMPD_task:
6048 return "task";
6049 case OMPD_taskgroup:
6050 return "taskgroup";
6051 case OMPD_taskloop:
6052 return "taskloop";
6053 case OMPD_taskloop_simd:
6054 return "taskloop simd";
6055 case OMPD_taskwait:
6056 return "taskwait";
6057 case OMPD_taskyield:
6058 return "taskyield";
6059 case OMPD_taskgraph:
6060 return "taskgraph";
6061 case OMPD_teams:
6062 return "teams";
6063 case OMPD_teams_distribute:
6064 return "teams distribute";
6065 case OMPD_teams_distribute_parallel_do:
6066 return "teams distribute parallel do";
6067 case OMPD_teams_distribute_parallel_do_simd:
6068 return "teams distribute parallel do simd";
6069 case OMPD_teams_distribute_parallel_for:
6070 return "teams distribute parallel for";
6071 case OMPD_teams_distribute_parallel_for_simd:
6072 return "teams distribute parallel for simd";
6073 case OMPD_teams_distribute_simd:
6074 return "teams distribute simd";
6075 case OMPD_teams_workdistribute:
6076 return "teams workdistribute";
6077 case OMPD_threadprivate:
6078 return "threadprivate";
6079 case OMPD_tile:
6080 return "tile";
6081 case OMPD_unknown:
6082 return "unknown";
6083 case OMPD_unroll:
6084 return "unroll";
6085 case OMPD_workdistribute:
6086 return "workdistribute";
6087 case OMPD_workshare:
6088 return "workshare";
6089 case OMPD_dispatch:
6090 return "dispatch";
6091 case OMPD_interop:
6092 return "interop";
6093 case OMPD_loop:
6094 return "loop";
6095 case OMPD_masked:
6096 return "masked";
6097 case OMPD_parallel_loop:
6098 return "parallel loop";
6099 case OMPD_target_loop:
6100 return "target loop";
6101 case OMPD_target_parallel_loop:
6102 return "target parallel loop";
6103 case OMPD_target_teams_loop:
6104 return "target teams loop";
6105 case OMPD_teams_loop:
6106 return "teams loop";
6107 }
6108 llvm_unreachable("Invalid OpenMP Directive kind");
6109}
6110
6111std::pair<llvm::omp::Clause, llvm::directive::VersionRange> llvm::omp::getOpenMPClauseKindAndVersions(llvm::StringRef Str) {
6112 directive::VersionRange All; // Default-initialized to "all versions"
6113 return StringSwitch<std::pair<Clause, directive::VersionRange>>(Str)
6114 .Case("absent", {OMPC_absent, All})
6115 .Case("acq_rel", {OMPC_acq_rel, All})
6116 .Case("acquire", {OMPC_acquire, All})
6117 .Case("adjust_args", {OMPC_adjust_args, All})
6118 .Case("affinity", {OMPC_affinity, All})
6119 .Case("align", {OMPC_align, All})
6120 .Case("aligned", {OMPC_aligned, All})
6121 .Case("allocate", {OMPC_allocate, All})
6122 .Case("allocator", {OMPC_allocator, All})
6123 .Case("append_args", {OMPC_append_args, All})
6124 .Case("apply", {OMPC_apply, All})
6125 .Case("at", {OMPC_at, All})
6126 .Case("atomic_default_mem_order", {OMPC_atomic_default_mem_order, All})
6127 .Case("bind", {OMPC_bind, All})
6128 .Case("cancellation_construct_type", {OMPC_cancellation_construct_type, All})
6129 .Case("capture", {OMPC_capture, All})
6130 .Case("collapse", {OMPC_collapse, All})
6131 .Case("collector", {OMPC_collector, All})
6132 .Case("combiner", {OMPC_combiner, All})
6133 .Case("compare", {OMPC_compare, All})
6134 .Case("contains", {OMPC_contains, All})
6135 .Case("copyprivate", {OMPC_copyprivate, All})
6136 .Case("copyin", {OMPC_copyin, All})
6137 .Case("counts", {OMPC_counts, All})
6138 .Case("default", {OMPC_default, All})
6139 .Case("defaultmap", {OMPC_defaultmap, All})
6140 .Case("depend", {OMPC_depend, All})
6141 .Case("depobj", {OMPC_unknown, All})
6142 .Case("depth", {OMPC_depth, All})
6143 .Case("destroy", {OMPC_destroy, All})
6144 .Case("detach", {OMPC_detach, All})
6145 .Case("device", {OMPC_device, All})
6146 .Case("device_safesync", {OMPC_device_safesync, All})
6147 .Case("device_type", {OMPC_device_type, All})
6148 .Case("dist_schedule", {OMPC_dist_schedule, All})
6149 .Case("doacross", {OMPC_doacross, All})
6150 .Case("dyn_groupprivate", {OMPC_dyn_groupprivate, All})
6151 .Case("dynamic_allocators", {OMPC_dynamic_allocators, All})
6152 .Case("enter", {OMPC_enter, All})
6153 .Case("exclusive", {OMPC_exclusive, All})
6154 .Case("fail", {OMPC_fail, All})
6155 .Case("filter", {OMPC_filter, All})
6156 .Case("final", {OMPC_final, All})
6157 .Case("firstprivate", {OMPC_firstprivate, All})
6158 .Case("flush", {OMPC_unknown, All})
6159 .Case("from", {OMPC_from, All})
6160 .Case("full", {OMPC_full, All})
6161 .Case("grainsize", {OMPC_grainsize, All})
6162 .Case("graph_id", {OMPC_graph_id, All})
6163 .Case("graph_reset", {OMPC_graph_reset, All})
6164 .Case("groupprivate", {OMPC_unknown, All})
6165 .Case("has_device_addr", {OMPC_has_device_addr, All})
6166 .Case("hint", {OMPC_hint, All})
6167 .Case("holds", {OMPC_holds, All})
6168 .Case("if", {OMPC_if, All})
6169 .Case("in_reduction", {OMPC_in_reduction, All})
6170 .Case("inbranch", {OMPC_inbranch, All})
6171 .Case("inclusive", {OMPC_inclusive, All})
6172 .Case("indirect", {OMPC_indirect, All})
6173 .Case("induction", {OMPC_induction, All})
6174 .Case("inductor", {OMPC_inductor, All})
6175 .Case("init", {OMPC_init, All})
6176 .Case("init_complete", {OMPC_init_complete, All})
6177 .Case("initializer", {OMPC_initializer, All})
6178 .Case("interop", {OMPC_interop, All})
6179 .Case("is_device_ptr", {OMPC_is_device_ptr, All})
6180 .Case("lastprivate", {OMPC_lastprivate, All})
6181 .Case("linear", {OMPC_linear, All})
6182 .Case("link", {OMPC_link, All})
6183 .Case("local", {OMPC_local, All})
6184 .Case("looprange", {OMPC_looprange, All})
6185 .Case("map", {OMPC_map, All})
6186 .Case("match", {OMPC_match, All})
6187 .Case("memory_order", {OMPC_memory_order, All})
6188 .Case("memscope", {OMPC_memscope, All})
6189 .Case("mergeable", {OMPC_mergeable, All})
6190 .Case("message", {OMPC_message, All})
6191 .Case("nogroup", {OMPC_nogroup, All})
6192 .Case("no_openmp", {OMPC_no_openmp, All})
6193 .Case("no_openmp_constructs", {OMPC_no_openmp_constructs, All})
6194 .Case("no_openmp_routines", {OMPC_no_openmp_routines, All})
6195 .Case("no_parallelism", {OMPC_no_parallelism, All})
6196 .Case("nowait", {OMPC_nowait, All})
6197 .Case("nocontext", {OMPC_nocontext, All})
6198 .Case("nontemporal", {OMPC_nontemporal, All})
6199 .Case("notinbranch", {OMPC_notinbranch, All})
6200 .Case("novariants", {OMPC_novariants, All})
6201 .Case("num_tasks", {OMPC_num_tasks, All})
6202 .Case("num_teams", {OMPC_num_teams, All})
6203 .Case("num_threads", {OMPC_num_threads, All})
6204 .Case("ompx_attribute", {OMPC_ompx_attribute, All})
6205 .Case("ompx_bare", {OMPC_ompx_bare, All})
6206 .Case("ompx_dyn_cgroup_mem", {OMPC_ompx_dyn_cgroup_mem, All})
6207 .Case("order", {OMPC_order, All})
6208 .Case("ordered", {OMPC_ordered, All})
6209 .Case("otherwise", {OMPC_otherwise, All})
6210 .Case("partial", {OMPC_partial, All})
6211 .Case("permutation", {OMPC_permutation, All})
6212 .Case("priority", {OMPC_priority, All})
6213 .Case("private", {OMPC_private, All})
6214 .Case("proc_bind", {OMPC_proc_bind, All})
6215 .Case("read", {OMPC_read, All})
6216 .Case("reduction", {OMPC_reduction, All})
6217 .Case("relaxed", {OMPC_relaxed, All})
6218 .Case("release", {OMPC_release, All})
6219 .Case("replayable", {OMPC_replayable, All})
6220 .Case("reverse_offload", {OMPC_reverse_offload, All})
6221 .Case("safelen", {OMPC_safelen, All})
6222 .Case("safesync", {OMPC_safesync, All})
6223 .Case("schedule", {OMPC_schedule, All})
6224 .Case("self_maps", {OMPC_self_maps, All})
6225 .Case("seq_cst", {OMPC_seq_cst, All})
6226 .Case("severity", {OMPC_severity, All})
6227 .Case("shared", {OMPC_shared, All})
6228 .Case("simd", {OMPC_simd, All})
6229 .Case("simdlen", {OMPC_simdlen, All})
6230 .Case("sizes", {OMPC_sizes, All})
6231 .Case("task_reduction", {OMPC_task_reduction, All})
6232 .Case("thread_limit", {OMPC_thread_limit, All})
6233 .Case("threadprivate", {OMPC_unknown, All})
6234 .Case("threads", {OMPC_threads, All})
6235 .Case("threadset", {OMPC_threadset, All})
6236 .Case("to", {OMPC_to, All})
6237 .Case("transparent", {OMPC_transparent, All})
6238 .Case("unified_address", {OMPC_unified_address, All})
6239 .Case("unified_shared_memory", {OMPC_unified_shared_memory, All})
6240 .Case("uniform", {OMPC_uniform, All})
6241 .Case("unknown", {OMPC_unknown, All})
6242 .Case("untied", {OMPC_untied, All})
6243 .Case("update", {OMPC_update, All})
6244 .Case("use", {OMPC_use, All})
6245 .Case("use_device_addr", {OMPC_use_device_addr, All})
6246 .Case("use_device_ptr", {OMPC_use_device_ptr, All})
6247 .Case("uses_allocators", {OMPC_uses_allocators, All})
6248 .Case("weak", {OMPC_weak, All})
6249 .Case("when", {OMPC_when, All})
6250 .Case("write", {OMPC_write, All})
6251 .Default({OMPC_unknown, All});
6252}
6253
6254llvm::StringRef llvm::omp::getOpenMPClauseName(llvm::omp::Clause Kind, unsigned Version) {
6255 switch (Kind) {
6256 case OMPC_absent:
6257 return "absent";
6258 case OMPC_acq_rel:
6259 return "acq_rel";
6260 case OMPC_acquire:
6261 return "acquire";
6262 case OMPC_adjust_args:
6263 return "adjust_args";
6264 case OMPC_affinity:
6265 return "affinity";
6266 case OMPC_align:
6267 return "align";
6268 case OMPC_aligned:
6269 return "aligned";
6270 case OMPC_allocate:
6271 return "allocate";
6272 case OMPC_allocator:
6273 return "allocator";
6274 case OMPC_append_args:
6275 return "append_args";
6276 case OMPC_apply:
6277 return "apply";
6278 case OMPC_at:
6279 return "at";
6280 case OMPC_atomic_default_mem_order:
6281 return "atomic_default_mem_order";
6282 case OMPC_bind:
6283 return "bind";
6284 case OMPC_cancellation_construct_type:
6285 return "cancellation_construct_type";
6286 case OMPC_capture:
6287 return "capture";
6288 case OMPC_collapse:
6289 return "collapse";
6290 case OMPC_collector:
6291 return "collector";
6292 case OMPC_combiner:
6293 return "combiner";
6294 case OMPC_compare:
6295 return "compare";
6296 case OMPC_contains:
6297 return "contains";
6298 case OMPC_copyprivate:
6299 return "copyprivate";
6300 case OMPC_copyin:
6301 return "copyin";
6302 case OMPC_counts:
6303 return "counts";
6304 case OMPC_default:
6305 return "default";
6306 case OMPC_defaultmap:
6307 return "defaultmap";
6308 case OMPC_depend:
6309 return "depend";
6310 case OMPC_depobj:
6311 return "depobj";
6312 case OMPC_depth:
6313 return "depth";
6314 case OMPC_destroy:
6315 return "destroy";
6316 case OMPC_detach:
6317 return "detach";
6318 case OMPC_device:
6319 return "device";
6320 case OMPC_device_safesync:
6321 return "device_safesync";
6322 case OMPC_device_type:
6323 return "device_type";
6324 case OMPC_dist_schedule:
6325 return "dist_schedule";
6326 case OMPC_doacross:
6327 return "doacross";
6328 case OMPC_dyn_groupprivate:
6329 return "dyn_groupprivate";
6330 case OMPC_dynamic_allocators:
6331 return "dynamic_allocators";
6332 case OMPC_enter:
6333 return "enter";
6334 case OMPC_exclusive:
6335 return "exclusive";
6336 case OMPC_fail:
6337 return "fail";
6338 case OMPC_filter:
6339 return "filter";
6340 case OMPC_final:
6341 return "final";
6342 case OMPC_firstprivate:
6343 return "firstprivate";
6344 case OMPC_flush:
6345 return "flush";
6346 case OMPC_from:
6347 return "from";
6348 case OMPC_full:
6349 return "full";
6350 case OMPC_grainsize:
6351 return "grainsize";
6352 case OMPC_graph_id:
6353 return "graph_id";
6354 case OMPC_graph_reset:
6355 return "graph_reset";
6356 case OMPC_groupprivate:
6357 return "groupprivate";
6358 case OMPC_has_device_addr:
6359 return "has_device_addr";
6360 case OMPC_hint:
6361 return "hint";
6362 case OMPC_holds:
6363 return "holds";
6364 case OMPC_if:
6365 return "if";
6366 case OMPC_in_reduction:
6367 return "in_reduction";
6368 case OMPC_inbranch:
6369 return "inbranch";
6370 case OMPC_inclusive:
6371 return "inclusive";
6372 case OMPC_indirect:
6373 return "indirect";
6374 case OMPC_induction:
6375 return "induction";
6376 case OMPC_inductor:
6377 return "inductor";
6378 case OMPC_init:
6379 return "init";
6380 case OMPC_init_complete:
6381 return "init_complete";
6382 case OMPC_initializer:
6383 return "initializer";
6384 case OMPC_interop:
6385 return "interop";
6386 case OMPC_is_device_ptr:
6387 return "is_device_ptr";
6388 case OMPC_lastprivate:
6389 return "lastprivate";
6390 case OMPC_linear:
6391 return "linear";
6392 case OMPC_link:
6393 return "link";
6394 case OMPC_local:
6395 return "local";
6396 case OMPC_looprange:
6397 return "looprange";
6398 case OMPC_map:
6399 return "map";
6400 case OMPC_match:
6401 return "match";
6402 case OMPC_memory_order:
6403 return "memory_order";
6404 case OMPC_memscope:
6405 return "memscope";
6406 case OMPC_mergeable:
6407 return "mergeable";
6408 case OMPC_message:
6409 return "message";
6410 case OMPC_nogroup:
6411 return "nogroup";
6412 case OMPC_no_openmp:
6413 return "no_openmp";
6414 case OMPC_no_openmp_constructs:
6415 return "no_openmp_constructs";
6416 case OMPC_no_openmp_routines:
6417 return "no_openmp_routines";
6418 case OMPC_no_parallelism:
6419 return "no_parallelism";
6420 case OMPC_nowait:
6421 return "nowait";
6422 case OMPC_nocontext:
6423 return "nocontext";
6424 case OMPC_nontemporal:
6425 return "nontemporal";
6426 case OMPC_notinbranch:
6427 return "notinbranch";
6428 case OMPC_novariants:
6429 return "novariants";
6430 case OMPC_num_tasks:
6431 return "num_tasks";
6432 case OMPC_num_teams:
6433 return "num_teams";
6434 case OMPC_num_threads:
6435 return "num_threads";
6436 case OMPC_ompx_attribute:
6437 return "ompx_attribute";
6438 case OMPC_ompx_bare:
6439 return "ompx_bare";
6440 case OMPC_ompx_dyn_cgroup_mem:
6441 return "ompx_dyn_cgroup_mem";
6442 case OMPC_order:
6443 return "order";
6444 case OMPC_ordered:
6445 return "ordered";
6446 case OMPC_otherwise:
6447 return "otherwise";
6448 case OMPC_partial:
6449 return "partial";
6450 case OMPC_permutation:
6451 return "permutation";
6452 case OMPC_priority:
6453 return "priority";
6454 case OMPC_private:
6455 return "private";
6456 case OMPC_proc_bind:
6457 return "proc_bind";
6458 case OMPC_read:
6459 return "read";
6460 case OMPC_reduction:
6461 return "reduction";
6462 case OMPC_relaxed:
6463 return "relaxed";
6464 case OMPC_release:
6465 return "release";
6466 case OMPC_replayable:
6467 return "replayable";
6468 case OMPC_reverse_offload:
6469 return "reverse_offload";
6470 case OMPC_safelen:
6471 return "safelen";
6472 case OMPC_safesync:
6473 return "safesync";
6474 case OMPC_schedule:
6475 return "schedule";
6476 case OMPC_self_maps:
6477 return "self_maps";
6478 case OMPC_seq_cst:
6479 return "seq_cst";
6480 case OMPC_severity:
6481 return "severity";
6482 case OMPC_shared:
6483 return "shared";
6484 case OMPC_simd:
6485 return "simd";
6486 case OMPC_simdlen:
6487 return "simdlen";
6488 case OMPC_sizes:
6489 return "sizes";
6490 case OMPC_task_reduction:
6491 return "task_reduction";
6492 case OMPC_thread_limit:
6493 return "thread_limit";
6494 case OMPC_threadprivate:
6495 return "threadprivate";
6496 case OMPC_threads:
6497 return "threads";
6498 case OMPC_threadset:
6499 return "threadset";
6500 case OMPC_to:
6501 return "to";
6502 case OMPC_transparent:
6503 return "transparent";
6504 case OMPC_unified_address:
6505 return "unified_address";
6506 case OMPC_unified_shared_memory:
6507 return "unified_shared_memory";
6508 case OMPC_uniform:
6509 return "uniform";
6510 case OMPC_unknown:
6511 return "unknown";
6512 case OMPC_untied:
6513 return "untied";
6514 case OMPC_update:
6515 return "update";
6516 case OMPC_use:
6517 return "use";
6518 case OMPC_use_device_addr:
6519 return "use_device_addr";
6520 case OMPC_use_device_ptr:
6521 return "use_device_ptr";
6522 case OMPC_uses_allocators:
6523 return "uses_allocators";
6524 case OMPC_weak:
6525 return "weak";
6526 case OMPC_when:
6527 return "when";
6528 case OMPC_write:
6529 return "write";
6530 }
6531 llvm_unreachable("Invalid OpenMP Clause kind");
6532}
6533
6534llvm::omp::BindKind llvm::omp::getBindKind(llvm::StringRef Str) {
6535 return StringSwitch<BindKind>(Str)
6536 .Case("parallel",OMP_BIND_parallel)
6537 .Case("teams",OMP_BIND_teams)
6538 .Case("thread",OMP_BIND_thread)
6539 .Default(OMP_BIND_thread);
6540}
6541
6542llvm::StringRef llvm::omp::getOpenMPBindKindName(llvm::omp::BindKind x) {
6543 switch (x) {
6544 case OMP_BIND_parallel:
6545 return "parallel";
6546 case OMP_BIND_teams:
6547 return "teams";
6548 case OMP_BIND_thread:
6549 return "thread";
6550 }
6551 llvm_unreachable("Invalid OpenMP BindKind kind");
6552}
6553
6554llvm::omp::CancellationConstructType llvm::omp::getCancellationConstructType(llvm::StringRef Str) {
6555 return StringSwitch<CancellationConstructType>(Str)
6556 .Case("parallel",OMP_CANCELLATION_CONSTRUCT_Parallel)
6557 .Case("loop",OMP_CANCELLATION_CONSTRUCT_Loop)
6558 .Case("sections",OMP_CANCELLATION_CONSTRUCT_Sections)
6559 .Case("taskgroup",OMP_CANCELLATION_CONSTRUCT_Taskgroup)
6560 .Case("none",OMP_CANCELLATION_CONSTRUCT_None)
6561 .Default(OMP_CANCELLATION_CONSTRUCT_None);
6562}
6563
6564llvm::StringRef llvm::omp::getOpenMPCancellationConstructTypeName(llvm::omp::CancellationConstructType x) {
6565 switch (x) {
6566 case OMP_CANCELLATION_CONSTRUCT_Parallel:
6567 return "parallel";
6568 case OMP_CANCELLATION_CONSTRUCT_Loop:
6569 return "loop";
6570 case OMP_CANCELLATION_CONSTRUCT_Sections:
6571 return "sections";
6572 case OMP_CANCELLATION_CONSTRUCT_Taskgroup:
6573 return "taskgroup";
6574 case OMP_CANCELLATION_CONSTRUCT_None:
6575 return "none";
6576 }
6577 llvm_unreachable("Invalid OpenMP CancellationConstructType kind");
6578}
6579
6580llvm::omp::GrainsizeType llvm::omp::getGrainsizeType(llvm::StringRef Str) {
6581 return StringSwitch<GrainsizeType>(Str)
6582 .Case("strict",OMP_GRAINSIZE_Strict)
6583 .Case("unknown",OMP_GRAINSIZE_Unknown)
6584 .Default(OMP_GRAINSIZE_Unknown);
6585}
6586
6587llvm::StringRef llvm::omp::getOpenMPGrainsizeTypeName(llvm::omp::GrainsizeType x) {
6588 switch (x) {
6589 case OMP_GRAINSIZE_Strict:
6590 return "strict";
6591 case OMP_GRAINSIZE_Unknown:
6592 return "unknown";
6593 }
6594 llvm_unreachable("Invalid OpenMP GrainsizeType kind");
6595}
6596
6597llvm::omp::MemoryOrderKind llvm::omp::getMemoryOrderKind(llvm::StringRef Str) {
6598 return StringSwitch<MemoryOrderKind>(Str)
6599 .Case("seq_cst",OMP_MEMORY_ORDER_SeqCst)
6600 .Case("acq_rel",OMP_MEMORY_ORDER_AcqRel)
6601 .Case("acquire",OMP_MEMORY_ORDER_Acquire)
6602 .Case("release",OMP_MEMORY_ORDER_Release)
6603 .Case("relaxed",OMP_MEMORY_ORDER_Relaxed)
6604 .Case("default",OMP_MEMORY_ORDER_Default)
6605 .Default(OMP_MEMORY_ORDER_Default);
6606}
6607
6608llvm::StringRef llvm::omp::getOpenMPMemoryOrderKindName(llvm::omp::MemoryOrderKind x) {
6609 switch (x) {
6610 case OMP_MEMORY_ORDER_SeqCst:
6611 return "seq_cst";
6612 case OMP_MEMORY_ORDER_AcqRel:
6613 return "acq_rel";
6614 case OMP_MEMORY_ORDER_Acquire:
6615 return "acquire";
6616 case OMP_MEMORY_ORDER_Release:
6617 return "release";
6618 case OMP_MEMORY_ORDER_Relaxed:
6619 return "relaxed";
6620 case OMP_MEMORY_ORDER_Default:
6621 return "default";
6622 }
6623 llvm_unreachable("Invalid OpenMP MemoryOrderKind kind");
6624}
6625
6626llvm::omp::NumTasksType llvm::omp::getNumTasksType(llvm::StringRef Str) {
6627 return StringSwitch<NumTasksType>(Str)
6628 .Case("strict",OMP_NUMTASKS_Strict)
6629 .Case("unknown",OMP_NUMTASKS_Unknown)
6630 .Default(OMP_NUMTASKS_Unknown);
6631}
6632
6633llvm::StringRef llvm::omp::getOpenMPNumTasksTypeName(llvm::omp::NumTasksType x) {
6634 switch (x) {
6635 case OMP_NUMTASKS_Strict:
6636 return "strict";
6637 case OMP_NUMTASKS_Unknown:
6638 return "unknown";
6639 }
6640 llvm_unreachable("Invalid OpenMP NumTasksType kind");
6641}
6642
6643llvm::omp::NumThreadsType llvm::omp::getNumThreadsType(llvm::StringRef Str) {
6644 return StringSwitch<NumThreadsType>(Str)
6645 .Case("strict",OMP_NUMTHREADS_Strict)
6646 .Case("unknown",OMP_NUMTHREADS_Unknown)
6647 .Default(OMP_NUMTHREADS_Unknown);
6648}
6649
6650llvm::StringRef llvm::omp::getOpenMPNumThreadsTypeName(llvm::omp::NumThreadsType x) {
6651 switch (x) {
6652 case OMP_NUMTHREADS_Strict:
6653 return "strict";
6654 case OMP_NUMTHREADS_Unknown:
6655 return "unknown";
6656 }
6657 llvm_unreachable("Invalid OpenMP NumThreadsType kind");
6658}
6659
6660llvm::omp::OrderKind llvm::omp::getOrderKind(llvm::StringRef Str) {
6661 return StringSwitch<OrderKind>(Str)
6662 .Case("unknown",OMP_ORDER_unknown)
6663 .Case("concurrent",OMP_ORDER_concurrent)
6664 .Default(OMP_ORDER_unknown);
6665}
6666
6667llvm::StringRef llvm::omp::getOpenMPOrderKindName(llvm::omp::OrderKind x) {
6668 switch (x) {
6669 case OMP_ORDER_unknown:
6670 return "unknown";
6671 case OMP_ORDER_concurrent:
6672 return "concurrent";
6673 }
6674 llvm_unreachable("Invalid OpenMP OrderKind kind");
6675}
6676
6677llvm::omp::ProcBindKind llvm::omp::getProcBindKind(llvm::StringRef Str) {
6678 return StringSwitch<ProcBindKind>(Str)
6679 .Case("primary",OMP_PROC_BIND_primary)
6680 .Case("master",OMP_PROC_BIND_master)
6681 .Case("close",OMP_PROC_BIND_close)
6682 .Case("spread",OMP_PROC_BIND_spread)
6683 .Case("default",OMP_PROC_BIND_default)
6684 .Case("unknown",OMP_PROC_BIND_unknown)
6685 .Default(OMP_PROC_BIND_unknown);
6686}
6687
6688llvm::StringRef llvm::omp::getOpenMPProcBindKindName(llvm::omp::ProcBindKind x) {
6689 switch (x) {
6690 case OMP_PROC_BIND_primary:
6691 return "primary";
6692 case OMP_PROC_BIND_master:
6693 return "master";
6694 case OMP_PROC_BIND_close:
6695 return "close";
6696 case OMP_PROC_BIND_spread:
6697 return "spread";
6698 case OMP_PROC_BIND_default:
6699 return "default";
6700 case OMP_PROC_BIND_unknown:
6701 return "unknown";
6702 }
6703 llvm_unreachable("Invalid OpenMP ProcBindKind kind");
6704}
6705
6706llvm::omp::ScheduleKind llvm::omp::getScheduleKind(llvm::StringRef Str) {
6707 return StringSwitch<ScheduleKind>(Str)
6708 .Case("static",OMP_SCHEDULE_Static)
6709 .Case("dynamic",OMP_SCHEDULE_Dynamic)
6710 .Case("guided",OMP_SCHEDULE_Guided)
6711 .Case("auto",OMP_SCHEDULE_Auto)
6712 .Case("runtime",OMP_SCHEDULE_Runtime)
6713 .Case("distribute",OMP_SCHEDULE_Distribute)
6714 .Case("default",OMP_SCHEDULE_Default)
6715 .Default(OMP_SCHEDULE_Default);
6716}
6717
6718llvm::StringRef llvm::omp::getOpenMPScheduleKindName(llvm::omp::ScheduleKind x) {
6719 switch (x) {
6720 case OMP_SCHEDULE_Static:
6721 return "static";
6722 case OMP_SCHEDULE_Dynamic:
6723 return "dynamic";
6724 case OMP_SCHEDULE_Guided:
6725 return "guided";
6726 case OMP_SCHEDULE_Auto:
6727 return "auto";
6728 case OMP_SCHEDULE_Runtime:
6729 return "runtime";
6730 case OMP_SCHEDULE_Distribute:
6731 return "distribute";
6732 case OMP_SCHEDULE_Default:
6733 return "default";
6734 }
6735 llvm_unreachable("Invalid OpenMP ScheduleKind kind");
6736}
6737
6738bool llvm::omp::isAllowedClauseForDirective(llvm::omp::Directive D, llvm::omp::Clause C, unsigned Version) {
6739 assert(unsigned(D) <= Directive_enumSize);
6740 assert(unsigned(C) <= Clause_enumSize);
6741 switch (D) {
6742 case OMPD_allocate:
6743 switch (C) {
6744 case OMPC_align:
6745 return 51 <= Version && 2147483647 >= Version;
6746 case OMPC_allocator:
6747 return 1 <= Version && 2147483647 >= Version;
6748 default:
6749 return false;
6750 }
6751 break;
6752 case OMPD_allocators:
6753 switch (C) {
6754 case OMPC_allocate:
6755 return 1 <= Version && 2147483647 >= Version;
6756 default:
6757 return false;
6758 }
6759 break;
6760 case OMPD_assume:
6761 switch (C) {
6762 case OMPC_absent:
6763 return 51 <= Version && 2147483647 >= Version;
6764 case OMPC_contains:
6765 return 51 <= Version && 2147483647 >= Version;
6766 case OMPC_holds:
6767 return 51 <= Version && 2147483647 >= Version;
6768 case OMPC_no_openmp:
6769 return 51 <= Version && 2147483647 >= Version;
6770 case OMPC_no_openmp_constructs:
6771 return 60 <= Version && 2147483647 >= Version;
6772 case OMPC_no_openmp_routines:
6773 return 51 <= Version && 2147483647 >= Version;
6774 case OMPC_no_parallelism:
6775 return 51 <= Version && 2147483647 >= Version;
6776 default:
6777 return false;
6778 }
6779 break;
6780 case OMPD_assumes:
6781 switch (C) {
6782 case OMPC_absent:
6783 return 51 <= Version && 2147483647 >= Version;
6784 case OMPC_contains:
6785 return 51 <= Version && 2147483647 >= Version;
6786 case OMPC_holds:
6787 return 51 <= Version && 2147483647 >= Version;
6788 case OMPC_no_openmp:
6789 return 51 <= Version && 2147483647 >= Version;
6790 case OMPC_no_openmp_routines:
6791 return 51 <= Version && 2147483647 >= Version;
6792 case OMPC_no_parallelism:
6793 return 51 <= Version && 2147483647 >= Version;
6794 default:
6795 return false;
6796 }
6797 break;
6798 case OMPD_atomic:
6799 switch (C) {
6800 case OMPC_acq_rel:
6801 return 50 <= Version && 2147483647 >= Version;
6802 case OMPC_acquire:
6803 return 50 <= Version && 2147483647 >= Version;
6804 case OMPC_capture:
6805 return 1 <= Version && 2147483647 >= Version;
6806 case OMPC_compare:
6807 return 51 <= Version && 2147483647 >= Version;
6808 case OMPC_fail:
6809 return 51 <= Version && 2147483647 >= Version;
6810 case OMPC_hint:
6811 return 50 <= Version && 2147483647 >= Version;
6812 case OMPC_read:
6813 return 1 <= Version && 2147483647 >= Version;
6814 case OMPC_relaxed:
6815 return 50 <= Version && 2147483647 >= Version;
6816 case OMPC_release:
6817 return 50 <= Version && 2147483647 >= Version;
6818 case OMPC_seq_cst:
6819 return 1 <= Version && 2147483647 >= Version;
6820 case OMPC_update:
6821 return 1 <= Version && 2147483647 >= Version;
6822 case OMPC_weak:
6823 return 51 <= Version && 2147483647 >= Version;
6824 case OMPC_write:
6825 return 1 <= Version && 2147483647 >= Version;
6826 default:
6827 return false;
6828 }
6829 break;
6830 case OMPD_barrier:
6831 return false;
6832 break;
6833 case OMPD_begin_assumes:
6834 switch (C) {
6835 case OMPC_absent:
6836 return 51 <= Version && 2147483647 >= Version;
6837 case OMPC_contains:
6838 return 51 <= Version && 2147483647 >= Version;
6839 case OMPC_holds:
6840 return 51 <= Version && 2147483647 >= Version;
6841 case OMPC_no_openmp:
6842 return 51 <= Version && 2147483647 >= Version;
6843 case OMPC_no_openmp_routines:
6844 return 51 <= Version && 2147483647 >= Version;
6845 case OMPC_no_parallelism:
6846 return 51 <= Version && 2147483647 >= Version;
6847 default:
6848 return false;
6849 }
6850 break;
6851 case OMPD_begin_declare_target:
6852 switch (C) {
6853 case OMPC_link:
6854 return 1 <= Version && 2147483647 >= Version;
6855 case OMPC_to:
6856 return 1 <= Version && 2147483647 >= Version;
6857 case OMPC_device_type:
6858 return 1 <= Version && 2147483647 >= Version;
6859 case OMPC_indirect:
6860 return 51 <= Version && 2147483647 >= Version;
6861 default:
6862 return false;
6863 }
6864 break;
6865 case OMPD_begin_declare_variant:
6866 return false;
6867 break;
6868 case OMPD_cancel:
6869 switch (C) {
6870 case OMPC_if:
6871 return 1 <= Version && 2147483647 >= Version;
6872 case OMPC_cancellation_construct_type:
6873 return 1 <= Version && 2147483647 >= Version;
6874 default:
6875 return false;
6876 }
6877 break;
6878 case OMPD_cancellation_point:
6879 switch (C) {
6880 case OMPC_cancellation_construct_type:
6881 return 1 <= Version && 2147483647 >= Version;
6882 default:
6883 return false;
6884 }
6885 break;
6886 case OMPD_critical:
6887 switch (C) {
6888 case OMPC_hint:
6889 return 1 <= Version && 2147483647 >= Version;
6890 default:
6891 return false;
6892 }
6893 break;
6894 case OMPD_declare_induction:
6895 switch (C) {
6896 case OMPC_collector:
6897 return 60 <= Version && 2147483647 >= Version;
6898 case OMPC_inductor:
6899 return 60 <= Version && 2147483647 >= Version;
6900 default:
6901 return false;
6902 }
6903 break;
6904 case OMPD_declare_mapper:
6905 switch (C) {
6906 case OMPC_map:
6907 return 45 <= Version && 2147483647 >= Version;
6908 default:
6909 return false;
6910 }
6911 break;
6912 case OMPD_declare_reduction:
6913 switch (C) {
6914 case OMPC_combiner:
6915 return 60 <= Version && 2147483647 >= Version;
6916 case OMPC_initializer:
6917 return 1 <= Version && 2147483647 >= Version;
6918 default:
6919 return false;
6920 }
6921 break;
6922 case OMPD_declare_simd:
6923 switch (C) {
6924 case OMPC_aligned:
6925 return 1 <= Version && 2147483647 >= Version;
6926 case OMPC_linear:
6927 return 1 <= Version && 2147483647 >= Version;
6928 case OMPC_uniform:
6929 return 1 <= Version && 2147483647 >= Version;
6930 case OMPC_simdlen:
6931 return 1 <= Version && 2147483647 >= Version;
6932 case OMPC_inbranch:
6933 return 1 <= Version && 2147483647 >= Version;
6934 case OMPC_notinbranch:
6935 return 1 <= Version && 2147483647 >= Version;
6936 default:
6937 return false;
6938 }
6939 break;
6940 case OMPD_declare_target:
6941 switch (C) {
6942 case OMPC_enter:
6943 return 52 <= Version && 2147483647 >= Version;
6944 case OMPC_link:
6945 return 1 <= Version && 2147483647 >= Version;
6946 case OMPC_local:
6947 return 60 <= Version && 2147483647 >= Version;
6948 case OMPC_to:
6949 return 1 <= Version && 2147483647 >= Version;
6950 case OMPC_device_type:
6951 return 50 <= Version && 2147483647 >= Version;
6952 case OMPC_indirect:
6953 return 51 <= Version && 2147483647 >= Version;
6954 default:
6955 return false;
6956 }
6957 break;
6958 case OMPD_declare_variant:
6959 switch (C) {
6960 case OMPC_adjust_args:
6961 return 51 <= Version && 2147483647 >= Version;
6962 case OMPC_append_args:
6963 return 51 <= Version && 2147483647 >= Version;
6964 case OMPC_match:
6965 return 1 <= Version && 2147483647 >= Version;
6966 default:
6967 return false;
6968 }
6969 break;
6970 case OMPD_depobj:
6971 switch (C) {
6972 case OMPC_depend:
6973 return 50 <= Version && 2147483647 >= Version;
6974 case OMPC_depobj:
6975 return 50 <= Version && 2147483647 >= Version;
6976 case OMPC_destroy:
6977 return 50 <= Version && 2147483647 >= Version;
6978 case OMPC_init:
6979 return 60 <= Version && 2147483647 >= Version;
6980 case OMPC_update:
6981 return 50 <= Version && 2147483647 >= Version;
6982 default:
6983 return false;
6984 }
6985 break;
6986 case OMPD_distribute:
6987 switch (C) {
6988 case OMPC_allocate:
6989 return 1 <= Version && 2147483647 >= Version;
6990 case OMPC_firstprivate:
6991 return 1 <= Version && 2147483647 >= Version;
6992 case OMPC_lastprivate:
6993 return 1 <= Version && 2147483647 >= Version;
6994 case OMPC_private:
6995 return 1 <= Version && 2147483647 >= Version;
6996 case OMPC_collapse:
6997 return 1 <= Version && 2147483647 >= Version;
6998 case OMPC_dist_schedule:
6999 return 1 <= Version && 2147483647 >= Version;
7000 case OMPC_order:
7001 return 50 <= Version && 2147483647 >= Version;
7002 default:
7003 return false;
7004 }
7005 break;
7006 case OMPD_distribute_parallel_do:
7007 switch (C) {
7008 case OMPC_allocate:
7009 return 1 <= Version && 2147483647 >= Version;
7010 case OMPC_copyin:
7011 return 1 <= Version && 2147483647 >= Version;
7012 case OMPC_firstprivate:
7013 return 1 <= Version && 2147483647 >= Version;
7014 case OMPC_if:
7015 return 1 <= Version && 2147483647 >= Version;
7016 case OMPC_lastprivate:
7017 return 1 <= Version && 2147483647 >= Version;
7018 case OMPC_linear:
7019 return 1 <= Version && 2147483647 >= Version;
7020 case OMPC_private:
7021 return 1 <= Version && 2147483647 >= Version;
7022 case OMPC_reduction:
7023 return 1 <= Version && 2147483647 >= Version;
7024 case OMPC_shared:
7025 return 1 <= Version && 2147483647 >= Version;
7026 case OMPC_collapse:
7027 return 1 <= Version && 2147483647 >= Version;
7028 case OMPC_default:
7029 return 1 <= Version && 2147483647 >= Version;
7030 case OMPC_dist_schedule:
7031 return 1 <= Version && 2147483647 >= Version;
7032 case OMPC_message:
7033 return 60 <= Version && 2147483647 >= Version;
7034 case OMPC_num_threads:
7035 return 1 <= Version && 2147483647 >= Version;
7036 case OMPC_order:
7037 return 50 <= Version && 2147483647 >= Version;
7038 case OMPC_proc_bind:
7039 return 1 <= Version && 2147483647 >= Version;
7040 case OMPC_schedule:
7041 return 1 <= Version && 2147483647 >= Version;
7042 case OMPC_severity:
7043 return 60 <= Version && 2147483647 >= Version;
7044 default:
7045 return false;
7046 }
7047 break;
7048 case OMPD_distribute_parallel_do_simd:
7049 switch (C) {
7050 case OMPC_aligned:
7051 return 1 <= Version && 2147483647 >= Version;
7052 case OMPC_allocate:
7053 return 1 <= Version && 2147483647 >= Version;
7054 case OMPC_copyin:
7055 return 1 <= Version && 2147483647 >= Version;
7056 case OMPC_firstprivate:
7057 return 1 <= Version && 2147483647 >= Version;
7058 case OMPC_if:
7059 return 1 <= Version && 2147483647 >= Version;
7060 case OMPC_lastprivate:
7061 return 1 <= Version && 2147483647 >= Version;
7062 case OMPC_linear:
7063 return 1 <= Version && 2147483647 >= Version;
7064 case OMPC_nontemporal:
7065 return 1 <= Version && 2147483647 >= Version;
7066 case OMPC_private:
7067 return 1 <= Version && 2147483647 >= Version;
7068 case OMPC_reduction:
7069 return 1 <= Version && 2147483647 >= Version;
7070 case OMPC_shared:
7071 return 1 <= Version && 2147483647 >= Version;
7072 case OMPC_collapse:
7073 return 1 <= Version && 2147483647 >= Version;
7074 case OMPC_default:
7075 return 1 <= Version && 2147483647 >= Version;
7076 case OMPC_dist_schedule:
7077 return 1 <= Version && 2147483647 >= Version;
7078 case OMPC_message:
7079 return 60 <= Version && 2147483647 >= Version;
7080 case OMPC_num_threads:
7081 return 1 <= Version && 2147483647 >= Version;
7082 case OMPC_order:
7083 return 50 <= Version && 2147483647 >= Version;
7084 case OMPC_proc_bind:
7085 return 1 <= Version && 2147483647 >= Version;
7086 case OMPC_safelen:
7087 return 1 <= Version && 2147483647 >= Version;
7088 case OMPC_schedule:
7089 return 1 <= Version && 2147483647 >= Version;
7090 case OMPC_severity:
7091 return 60 <= Version && 2147483647 >= Version;
7092 case OMPC_simdlen:
7093 return 1 <= Version && 2147483647 >= Version;
7094 default:
7095 return false;
7096 }
7097 break;
7098 case OMPD_distribute_parallel_for:
7099 switch (C) {
7100 case OMPC_allocate:
7101 return 1 <= Version && 2147483647 >= Version;
7102 case OMPC_copyin:
7103 return 1 <= Version && 2147483647 >= Version;
7104 case OMPC_firstprivate:
7105 return 1 <= Version && 2147483647 >= Version;
7106 case OMPC_if:
7107 return 1 <= Version && 2147483647 >= Version;
7108 case OMPC_lastprivate:
7109 return 1 <= Version && 2147483647 >= Version;
7110 case OMPC_ompx_attribute:
7111 return 1 <= Version && 2147483647 >= Version;
7112 case OMPC_private:
7113 return 1 <= Version && 2147483647 >= Version;
7114 case OMPC_reduction:
7115 return 1 <= Version && 2147483647 >= Version;
7116 case OMPC_shared:
7117 return 1 <= Version && 2147483647 >= Version;
7118 case OMPC_collapse:
7119 return 1 <= Version && 2147483647 >= Version;
7120 case OMPC_default:
7121 return 1 <= Version && 2147483647 >= Version;
7122 case OMPC_dist_schedule:
7123 return 1 <= Version && 2147483647 >= Version;
7124 case OMPC_message:
7125 return 60 <= Version && 2147483647 >= Version;
7126 case OMPC_num_threads:
7127 return 1 <= Version && 2147483647 >= Version;
7128 case OMPC_order:
7129 return 50 <= Version && 2147483647 >= Version;
7130 case OMPC_proc_bind:
7131 return 1 <= Version && 2147483647 >= Version;
7132 case OMPC_schedule:
7133 return 1 <= Version && 2147483647 >= Version;
7134 case OMPC_severity:
7135 return 60 <= Version && 2147483647 >= Version;
7136 default:
7137 return false;
7138 }
7139 break;
7140 case OMPD_distribute_parallel_for_simd:
7141 switch (C) {
7142 case OMPC_aligned:
7143 return 1 <= Version && 2147483647 >= Version;
7144 case OMPC_allocate:
7145 return 1 <= Version && 2147483647 >= Version;
7146 case OMPC_copyin:
7147 return 1 <= Version && 2147483647 >= Version;
7148 case OMPC_firstprivate:
7149 return 1 <= Version && 2147483647 >= Version;
7150 case OMPC_if:
7151 return 1 <= Version && 2147483647 >= Version;
7152 case OMPC_lastprivate:
7153 return 1 <= Version && 2147483647 >= Version;
7154 case OMPC_linear:
7155 return 1 <= Version && 2147483647 >= Version;
7156 case OMPC_nontemporal:
7157 return 50 <= Version && 2147483647 >= Version;
7158 case OMPC_ompx_attribute:
7159 return 1 <= Version && 2147483647 >= Version;
7160 case OMPC_private:
7161 return 1 <= Version && 2147483647 >= Version;
7162 case OMPC_reduction:
7163 return 1 <= Version && 2147483647 >= Version;
7164 case OMPC_shared:
7165 return 1 <= Version && 2147483647 >= Version;
7166 case OMPC_collapse:
7167 return 1 <= Version && 2147483647 >= Version;
7168 case OMPC_default:
7169 return 1 <= Version && 2147483647 >= Version;
7170 case OMPC_dist_schedule:
7171 return 1 <= Version && 2147483647 >= Version;
7172 case OMPC_message:
7173 return 60 <= Version && 2147483647 >= Version;
7174 case OMPC_num_threads:
7175 return 1 <= Version && 2147483647 >= Version;
7176 case OMPC_order:
7177 return 50 <= Version && 2147483647 >= Version;
7178 case OMPC_proc_bind:
7179 return 1 <= Version && 2147483647 >= Version;
7180 case OMPC_safelen:
7181 return 1 <= Version && 2147483647 >= Version;
7182 case OMPC_schedule:
7183 return 1 <= Version && 2147483647 >= Version;
7184 case OMPC_severity:
7185 return 60 <= Version && 2147483647 >= Version;
7186 case OMPC_simdlen:
7187 return 1 <= Version && 2147483647 >= Version;
7188 default:
7189 return false;
7190 }
7191 break;
7192 case OMPD_distribute_simd:
7193 switch (C) {
7194 case OMPC_aligned:
7195 return 1 <= Version && 2147483647 >= Version;
7196 case OMPC_allocate:
7197 return 1 <= Version && 2147483647 >= Version;
7198 case OMPC_copyin:
7199 return 1 <= Version && 2147483647 >= Version;
7200 case OMPC_firstprivate:
7201 return 1 <= Version && 2147483647 >= Version;
7202 case OMPC_if:
7203 return 50 <= Version && 2147483647 >= Version;
7204 case OMPC_lastprivate:
7205 return 1 <= Version && 2147483647 >= Version;
7206 case OMPC_linear:
7207 return 1 <= Version && 2147483647 >= Version;
7208 case OMPC_nontemporal:
7209 return 50 <= Version && 2147483647 >= Version;
7210 case OMPC_private:
7211 return 1 <= Version && 2147483647 >= Version;
7212 case OMPC_reduction:
7213 return 1 <= Version && 2147483647 >= Version;
7214 case OMPC_collapse:
7215 return 1 <= Version && 2147483647 >= Version;
7216 case OMPC_default:
7217 return 1 <= Version && 2147483647 >= Version;
7218 case OMPC_dist_schedule:
7219 return 1 <= Version && 2147483647 >= Version;
7220 case OMPC_message:
7221 return 60 <= Version && 2147483647 >= Version;
7222 case OMPC_num_threads:
7223 return 1 <= Version && 2147483647 >= Version;
7224 case OMPC_order:
7225 return 50 <= Version && 2147483647 >= Version;
7226 case OMPC_proc_bind:
7227 return 1 <= Version && 2147483647 >= Version;
7228 case OMPC_safelen:
7229 return 1 <= Version && 2147483647 >= Version;
7230 case OMPC_schedule:
7231 return 1 <= Version && 2147483647 >= Version;
7232 case OMPC_severity:
7233 return 60 <= Version && 2147483647 >= Version;
7234 case OMPC_simdlen:
7235 return 1 <= Version && 2147483647 >= Version;
7236 default:
7237 return false;
7238 }
7239 break;
7240 case OMPD_do:
7241 switch (C) {
7242 case OMPC_allocate:
7243 return 50 <= Version && 2147483647 >= Version;
7244 case OMPC_firstprivate:
7245 return 1 <= Version && 2147483647 >= Version;
7246 case OMPC_lastprivate:
7247 return 1 <= Version && 2147483647 >= Version;
7248 case OMPC_linear:
7249 return 1 <= Version && 2147483647 >= Version;
7250 case OMPC_private:
7251 return 1 <= Version && 2147483647 >= Version;
7252 case OMPC_reduction:
7253 return 1 <= Version && 2147483647 >= Version;
7254 case OMPC_collapse:
7255 return 1 <= Version && 2147483647 >= Version;
7256 case OMPC_nowait:
7257 return 1 <= Version && 2147483647 >= Version;
7258 case OMPC_order:
7259 return 50 <= Version && 2147483647 >= Version;
7260 case OMPC_ordered:
7261 return 1 <= Version && 2147483647 >= Version;
7262 case OMPC_schedule:
7263 return 1 <= Version && 2147483647 >= Version;
7264 default:
7265 return false;
7266 }
7267 break;
7268 case OMPD_do_simd:
7269 switch (C) {
7270 case OMPC_aligned:
7271 return 1 <= Version && 2147483647 >= Version;
7272 case OMPC_firstprivate:
7273 return 1 <= Version && 2147483647 >= Version;
7274 case OMPC_if:
7275 return 50 <= Version && 2147483647 >= Version;
7276 case OMPC_lastprivate:
7277 return 1 <= Version && 2147483647 >= Version;
7278 case OMPC_linear:
7279 return 1 <= Version && 2147483647 >= Version;
7280 case OMPC_private:
7281 return 1 <= Version && 2147483647 >= Version;
7282 case OMPC_reduction:
7283 return 1 <= Version && 2147483647 >= Version;
7284 case OMPC_collapse:
7285 return 1 <= Version && 2147483647 >= Version;
7286 case OMPC_nowait:
7287 return 1 <= Version && 2147483647 >= Version;
7288 case OMPC_order:
7289 return 50 <= Version && 2147483647 >= Version;
7290 case OMPC_ordered:
7291 return 1 <= Version && 2147483647 >= Version;
7292 case OMPC_safelen:
7293 return 1 <= Version && 2147483647 >= Version;
7294 case OMPC_schedule:
7295 return 1 <= Version && 2147483647 >= Version;
7296 case OMPC_simdlen:
7297 return 1 <= Version && 2147483647 >= Version;
7298 default:
7299 return false;
7300 }
7301 break;
7302 case OMPD_end_assumes:
7303 return false;
7304 break;
7305 case OMPD_end_declare_target:
7306 return false;
7307 break;
7308 case OMPD_end_declare_variant:
7309 return false;
7310 break;
7311 case OMPD_error:
7312 switch (C) {
7313 case OMPC_at:
7314 return 51 <= Version && 2147483647 >= Version;
7315 case OMPC_message:
7316 return 51 <= Version && 2147483647 >= Version;
7317 case OMPC_severity:
7318 return 51 <= Version && 2147483647 >= Version;
7319 default:
7320 return false;
7321 }
7322 break;
7323 case OMPD_flatten:
7324 switch (C) {
7325 case OMPC_apply:
7326 return 60 <= Version && 2147483647 >= Version;
7327 case OMPC_depth:
7328 return 61 <= Version && 2147483647 >= Version;
7329 default:
7330 return false;
7331 }
7332 break;
7333 case OMPD_flush:
7334 switch (C) {
7335 case OMPC_acq_rel:
7336 return 50 <= Version && 2147483647 >= Version;
7337 case OMPC_acquire:
7338 return 50 <= Version && 2147483647 >= Version;
7339 case OMPC_flush:
7340 return 1 <= Version && 2147483647 >= Version;
7341 case OMPC_release:
7342 return 50 <= Version && 2147483647 >= Version;
7343 case OMPC_seq_cst:
7344 return 51 <= Version && 2147483647 >= Version;
7345 default:
7346 return false;
7347 }
7348 break;
7349 case OMPD_for:
7350 switch (C) {
7351 case OMPC_allocate:
7352 return 1 <= Version && 2147483647 >= Version;
7353 case OMPC_firstprivate:
7354 return 1 <= Version && 2147483647 >= Version;
7355 case OMPC_lastprivate:
7356 return 1 <= Version && 2147483647 >= Version;
7357 case OMPC_linear:
7358 return 1 <= Version && 2147483647 >= Version;
7359 case OMPC_private:
7360 return 1 <= Version && 2147483647 >= Version;
7361 case OMPC_reduction:
7362 return 1 <= Version && 2147483647 >= Version;
7363 case OMPC_collapse:
7364 return 1 <= Version && 2147483647 >= Version;
7365 case OMPC_nowait:
7366 return 1 <= Version && 2147483647 >= Version;
7367 case OMPC_order:
7368 return 50 <= Version && 2147483647 >= Version;
7369 case OMPC_ordered:
7370 return 1 <= Version && 2147483647 >= Version;
7371 case OMPC_schedule:
7372 return 1 <= Version && 2147483647 >= Version;
7373 default:
7374 return false;
7375 }
7376 break;
7377 case OMPD_for_simd:
7378 switch (C) {
7379 case OMPC_aligned:
7380 return 1 <= Version && 2147483647 >= Version;
7381 case OMPC_allocate:
7382 return 1 <= Version && 2147483647 >= Version;
7383 case OMPC_firstprivate:
7384 return 1 <= Version && 2147483647 >= Version;
7385 case OMPC_if:
7386 return 50 <= Version && 2147483647 >= Version;
7387 case OMPC_lastprivate:
7388 return 1 <= Version && 2147483647 >= Version;
7389 case OMPC_linear:
7390 return 1 <= Version && 2147483647 >= Version;
7391 case OMPC_nontemporal:
7392 return 50 <= Version && 2147483647 >= Version;
7393 case OMPC_private:
7394 return 1 <= Version && 2147483647 >= Version;
7395 case OMPC_reduction:
7396 return 1 <= Version && 2147483647 >= Version;
7397 case OMPC_collapse:
7398 return 1 <= Version && 2147483647 >= Version;
7399 case OMPC_nowait:
7400 return 1 <= Version && 2147483647 >= Version;
7401 case OMPC_order:
7402 return 50 <= Version && 2147483647 >= Version;
7403 case OMPC_ordered:
7404 return 1 <= Version && 2147483647 >= Version;
7405 case OMPC_safelen:
7406 return 1 <= Version && 2147483647 >= Version;
7407 case OMPC_schedule:
7408 return 1 <= Version && 2147483647 >= Version;
7409 case OMPC_simdlen:
7410 return 1 <= Version && 2147483647 >= Version;
7411 default:
7412 return false;
7413 }
7414 break;
7415 case OMPD_fuse:
7416 switch (C) {
7417 case OMPC_depth:
7418 return 61 <= Version && 2147483647 >= Version;
7419 case OMPC_looprange:
7420 return 60 <= Version && 2147483647 >= Version;
7421 default:
7422 return false;
7423 }
7424 break;
7425 case OMPD_groupprivate:
7426 switch (C) {
7427 case OMPC_device_type:
7428 return 1 <= Version && 2147483647 >= Version;
7429 default:
7430 return false;
7431 }
7432 break;
7433 case OMPD_interchange:
7434 switch (C) {
7435 case OMPC_permutation:
7436 return 1 <= Version && 2147483647 >= Version;
7437 default:
7438 return false;
7439 }
7440 break;
7441 case OMPD_masked_taskloop:
7442 switch (C) {
7443 case OMPC_allocate:
7444 return 1 <= Version && 2147483647 >= Version;
7445 case OMPC_firstprivate:
7446 return 1 <= Version && 2147483647 >= Version;
7447 case OMPC_if:
7448 return 1 <= Version && 2147483647 >= Version;
7449 case OMPC_in_reduction:
7450 return 1 <= Version && 2147483647 >= Version;
7451 case OMPC_lastprivate:
7452 return 1 <= Version && 2147483647 >= Version;
7453 case OMPC_private:
7454 return 1 <= Version && 2147483647 >= Version;
7455 case OMPC_reduction:
7456 return 1 <= Version && 2147483647 >= Version;
7457 case OMPC_shared:
7458 return 1 <= Version && 2147483647 >= Version;
7459 case OMPC_collapse:
7460 return 1 <= Version && 2147483647 >= Version;
7461 case OMPC_default:
7462 return 1 <= Version && 2147483647 >= Version;
7463 case OMPC_filter:
7464 return 1 <= Version && 2147483647 >= Version;
7465 case OMPC_final:
7466 return 1 <= Version && 2147483647 >= Version;
7467 case OMPC_grainsize:
7468 return 1 <= Version && 2147483647 >= Version;
7469 case OMPC_mergeable:
7470 return 1 <= Version && 2147483647 >= Version;
7471 case OMPC_nogroup:
7472 return 1 <= Version && 2147483647 >= Version;
7473 case OMPC_num_tasks:
7474 return 1 <= Version && 2147483647 >= Version;
7475 case OMPC_priority:
7476 return 1 <= Version && 2147483647 >= Version;
7477 case OMPC_untied:
7478 return 1 <= Version && 2147483647 >= Version;
7479 default:
7480 return false;
7481 }
7482 break;
7483 case OMPD_masked_taskloop_simd:
7484 switch (C) {
7485 case OMPC_aligned:
7486 return 1 <= Version && 2147483647 >= Version;
7487 case OMPC_allocate:
7488 return 1 <= Version && 2147483647 >= Version;
7489 case OMPC_firstprivate:
7490 return 1 <= Version && 2147483647 >= Version;
7491 case OMPC_if:
7492 return 1 <= Version && 2147483647 >= Version;
7493 case OMPC_in_reduction:
7494 return 1 <= Version && 2147483647 >= Version;
7495 case OMPC_lastprivate:
7496 return 1 <= Version && 2147483647 >= Version;
7497 case OMPC_linear:
7498 return 1 <= Version && 2147483647 >= Version;
7499 case OMPC_nontemporal:
7500 return 50 <= Version && 2147483647 >= Version;
7501 case OMPC_private:
7502 return 1 <= Version && 2147483647 >= Version;
7503 case OMPC_reduction:
7504 return 1 <= Version && 2147483647 >= Version;
7505 case OMPC_shared:
7506 return 1 <= Version && 2147483647 >= Version;
7507 case OMPC_collapse:
7508 return 1 <= Version && 2147483647 >= Version;
7509 case OMPC_default:
7510 return 1 <= Version && 2147483647 >= Version;
7511 case OMPC_filter:
7512 return 1 <= Version && 2147483647 >= Version;
7513 case OMPC_final:
7514 return 1 <= Version && 2147483647 >= Version;
7515 case OMPC_grainsize:
7516 return 1 <= Version && 2147483647 >= Version;
7517 case OMPC_mergeable:
7518 return 1 <= Version && 2147483647 >= Version;
7519 case OMPC_nogroup:
7520 return 1 <= Version && 2147483647 >= Version;
7521 case OMPC_num_tasks:
7522 return 1 <= Version && 2147483647 >= Version;
7523 case OMPC_order:
7524 return 50 <= Version && 2147483647 >= Version;
7525 case OMPC_priority:
7526 return 1 <= Version && 2147483647 >= Version;
7527 case OMPC_safelen:
7528 return 1 <= Version && 2147483647 >= Version;
7529 case OMPC_simdlen:
7530 return 1 <= Version && 2147483647 >= Version;
7531 case OMPC_untied:
7532 return 1 <= Version && 2147483647 >= Version;
7533 default:
7534 return false;
7535 }
7536 break;
7537 case OMPD_master:
7538 return false;
7539 break;
7540 case OMPD_master_taskloop:
7541 switch (C) {
7542 case OMPC_allocate:
7543 return 1 <= Version && 2147483647 >= Version;
7544 case OMPC_firstprivate:
7545 return 1 <= Version && 2147483647 >= Version;
7546 case OMPC_if:
7547 return 1 <= Version && 2147483647 >= Version;
7548 case OMPC_in_reduction:
7549 return 1 <= Version && 2147483647 >= Version;
7550 case OMPC_lastprivate:
7551 return 1 <= Version && 2147483647 >= Version;
7552 case OMPC_private:
7553 return 1 <= Version && 2147483647 >= Version;
7554 case OMPC_reduction:
7555 return 1 <= Version && 2147483647 >= Version;
7556 case OMPC_shared:
7557 return 1 <= Version && 2147483647 >= Version;
7558 case OMPC_collapse:
7559 return 1 <= Version && 2147483647 >= Version;
7560 case OMPC_default:
7561 return 1 <= Version && 2147483647 >= Version;
7562 case OMPC_final:
7563 return 1 <= Version && 2147483647 >= Version;
7564 case OMPC_grainsize:
7565 return 1 <= Version && 2147483647 >= Version;
7566 case OMPC_mergeable:
7567 return 1 <= Version && 2147483647 >= Version;
7568 case OMPC_nogroup:
7569 return 1 <= Version && 2147483647 >= Version;
7570 case OMPC_num_tasks:
7571 return 1 <= Version && 2147483647 >= Version;
7572 case OMPC_priority:
7573 return 1 <= Version && 2147483647 >= Version;
7574 case OMPC_untied:
7575 return 1 <= Version && 2147483647 >= Version;
7576 default:
7577 return false;
7578 }
7579 break;
7580 case OMPD_master_taskloop_simd:
7581 switch (C) {
7582 case OMPC_aligned:
7583 return 1 <= Version && 2147483647 >= Version;
7584 case OMPC_allocate:
7585 return 1 <= Version && 2147483647 >= Version;
7586 case OMPC_firstprivate:
7587 return 1 <= Version && 2147483647 >= Version;
7588 case OMPC_if:
7589 return 1 <= Version && 2147483647 >= Version;
7590 case OMPC_in_reduction:
7591 return 1 <= Version && 2147483647 >= Version;
7592 case OMPC_lastprivate:
7593 return 1 <= Version && 2147483647 >= Version;
7594 case OMPC_linear:
7595 return 1 <= Version && 2147483647 >= Version;
7596 case OMPC_nontemporal:
7597 return 50 <= Version && 2147483647 >= Version;
7598 case OMPC_private:
7599 return 1 <= Version && 2147483647 >= Version;
7600 case OMPC_reduction:
7601 return 1 <= Version && 2147483647 >= Version;
7602 case OMPC_shared:
7603 return 1 <= Version && 2147483647 >= Version;
7604 case OMPC_collapse:
7605 return 1 <= Version && 2147483647 >= Version;
7606 case OMPC_default:
7607 return 1 <= Version && 2147483647 >= Version;
7608 case OMPC_final:
7609 return 1 <= Version && 2147483647 >= Version;
7610 case OMPC_grainsize:
7611 return 1 <= Version && 2147483647 >= Version;
7612 case OMPC_mergeable:
7613 return 1 <= Version && 2147483647 >= Version;
7614 case OMPC_nogroup:
7615 return 1 <= Version && 2147483647 >= Version;
7616 case OMPC_num_tasks:
7617 return 1 <= Version && 2147483647 >= Version;
7618 case OMPC_order:
7619 return 50 <= Version && 2147483647 >= Version;
7620 case OMPC_priority:
7621 return 1 <= Version && 2147483647 >= Version;
7622 case OMPC_safelen:
7623 return 1 <= Version && 2147483647 >= Version;
7624 case OMPC_simdlen:
7625 return 1 <= Version && 2147483647 >= Version;
7626 case OMPC_untied:
7627 return 1 <= Version && 2147483647 >= Version;
7628 default:
7629 return false;
7630 }
7631 break;
7632 case OMPD_metadirective:
7633 switch (C) {
7634 case OMPC_when:
7635 return 1 <= Version && 2147483647 >= Version;
7636 case OMPC_default:
7637 return 50 <= Version && 51 >= Version;
7638 case OMPC_otherwise:
7639 return 52 <= Version && 2147483647 >= Version;
7640 default:
7641 return false;
7642 }
7643 break;
7644 case OMPD_nothing:
7645 return false;
7646 break;
7647 case OMPD_ordered:
7648 switch (C) {
7649 case OMPC_depend:
7650 return 1 <= Version && 2147483647 >= Version;
7651 case OMPC_doacross:
7652 return 52 <= Version && 2147483647 >= Version;
7653 case OMPC_simd:
7654 return 1 <= Version && 2147483647 >= Version;
7655 case OMPC_threads:
7656 return 1 <= Version && 2147483647 >= Version;
7657 default:
7658 return false;
7659 }
7660 break;
7661 case OMPD_parallel:
7662 switch (C) {
7663 case OMPC_allocate:
7664 return 1 <= Version && 2147483647 >= Version;
7665 case OMPC_copyin:
7666 return 1 <= Version && 2147483647 >= Version;
7667 case OMPC_firstprivate:
7668 return 1 <= Version && 2147483647 >= Version;
7669 case OMPC_if:
7670 return 1 <= Version && 2147483647 >= Version;
7671 case OMPC_ompx_attribute:
7672 return 1 <= Version && 2147483647 >= Version;
7673 case OMPC_private:
7674 return 1 <= Version && 2147483647 >= Version;
7675 case OMPC_reduction:
7676 return 1 <= Version && 2147483647 >= Version;
7677 case OMPC_shared:
7678 return 1 <= Version && 2147483647 >= Version;
7679 case OMPC_default:
7680 return 1 <= Version && 2147483647 >= Version;
7681 case OMPC_message:
7682 return 60 <= Version && 2147483647 >= Version;
7683 case OMPC_num_threads:
7684 return 1 <= Version && 2147483647 >= Version;
7685 case OMPC_proc_bind:
7686 return 1 <= Version && 2147483647 >= Version;
7687 case OMPC_severity:
7688 return 60 <= Version && 2147483647 >= Version;
7689 default:
7690 return false;
7691 }
7692 break;
7693 case OMPD_parallel_do:
7694 switch (C) {
7695 case OMPC_allocate:
7696 return 50 <= Version && 2147483647 >= Version;
7697 case OMPC_copyin:
7698 return 1 <= Version && 2147483647 >= Version;
7699 case OMPC_firstprivate:
7700 return 1 <= Version && 2147483647 >= Version;
7701 case OMPC_if:
7702 return 1 <= Version && 2147483647 >= Version;
7703 case OMPC_lastprivate:
7704 return 1 <= Version && 2147483647 >= Version;
7705 case OMPC_linear:
7706 return 1 <= Version && 2147483647 >= Version;
7707 case OMPC_private:
7708 return 1 <= Version && 2147483647 >= Version;
7709 case OMPC_reduction:
7710 return 1 <= Version && 2147483647 >= Version;
7711 case OMPC_shared:
7712 return 1 <= Version && 2147483647 >= Version;
7713 case OMPC_collapse:
7714 return 1 <= Version && 2147483647 >= Version;
7715 case OMPC_default:
7716 return 1 <= Version && 2147483647 >= Version;
7717 case OMPC_message:
7718 return 60 <= Version && 2147483647 >= Version;
7719 case OMPC_num_threads:
7720 return 1 <= Version && 2147483647 >= Version;
7721 case OMPC_order:
7722 return 50 <= Version && 2147483647 >= Version;
7723 case OMPC_ordered:
7724 return 1 <= Version && 2147483647 >= Version;
7725 case OMPC_proc_bind:
7726 return 1 <= Version && 2147483647 >= Version;
7727 case OMPC_schedule:
7728 return 1 <= Version && 2147483647 >= Version;
7729 case OMPC_severity:
7730 return 60 <= Version && 2147483647 >= Version;
7731 default:
7732 return false;
7733 }
7734 break;
7735 case OMPD_parallel_do_simd:
7736 switch (C) {
7737 case OMPC_aligned:
7738 return 1 <= Version && 2147483647 >= Version;
7739 case OMPC_allocate:
7740 return 1 <= Version && 2147483647 >= Version;
7741 case OMPC_copyin:
7742 return 1 <= Version && 2147483647 >= Version;
7743 case OMPC_firstprivate:
7744 return 1 <= Version && 2147483647 >= Version;
7745 case OMPC_if:
7746 return 1 <= Version && 2147483647 >= Version;
7747 case OMPC_lastprivate:
7748 return 1 <= Version && 2147483647 >= Version;
7749 case OMPC_linear:
7750 return 1 <= Version && 2147483647 >= Version;
7751 case OMPC_nontemporal:
7752 return 1 <= Version && 2147483647 >= Version;
7753 case OMPC_private:
7754 return 1 <= Version && 2147483647 >= Version;
7755 case OMPC_reduction:
7756 return 1 <= Version && 2147483647 >= Version;
7757 case OMPC_shared:
7758 return 1 <= Version && 2147483647 >= Version;
7759 case OMPC_collapse:
7760 return 1 <= Version && 2147483647 >= Version;
7761 case OMPC_default:
7762 return 1 <= Version && 2147483647 >= Version;
7763 case OMPC_message:
7764 return 60 <= Version && 2147483647 >= Version;
7765 case OMPC_num_threads:
7766 return 1 <= Version && 2147483647 >= Version;
7767 case OMPC_order:
7768 return 50 <= Version && 2147483647 >= Version;
7769 case OMPC_ordered:
7770 return 1 <= Version && 2147483647 >= Version;
7771 case OMPC_proc_bind:
7772 return 1 <= Version && 2147483647 >= Version;
7773 case OMPC_safelen:
7774 return 1 <= Version && 2147483647 >= Version;
7775 case OMPC_schedule:
7776 return 1 <= Version && 2147483647 >= Version;
7777 case OMPC_severity:
7778 return 60 <= Version && 2147483647 >= Version;
7779 case OMPC_simdlen:
7780 return 1 <= Version && 2147483647 >= Version;
7781 default:
7782 return false;
7783 }
7784 break;
7785 case OMPD_parallel_for:
7786 switch (C) {
7787 case OMPC_allocate:
7788 return 1 <= Version && 2147483647 >= Version;
7789 case OMPC_copyin:
7790 return 1 <= Version && 2147483647 >= Version;
7791 case OMPC_firstprivate:
7792 return 1 <= Version && 2147483647 >= Version;
7793 case OMPC_if:
7794 return 1 <= Version && 2147483647 >= Version;
7795 case OMPC_lastprivate:
7796 return 1 <= Version && 2147483647 >= Version;
7797 case OMPC_linear:
7798 return 1 <= Version && 2147483647 >= Version;
7799 case OMPC_ompx_attribute:
7800 return 1 <= Version && 2147483647 >= Version;
7801 case OMPC_private:
7802 return 1 <= Version && 2147483647 >= Version;
7803 case OMPC_reduction:
7804 return 1 <= Version && 2147483647 >= Version;
7805 case OMPC_shared:
7806 return 1 <= Version && 2147483647 >= Version;
7807 case OMPC_collapse:
7808 return 1 <= Version && 2147483647 >= Version;
7809 case OMPC_default:
7810 return 1 <= Version && 2147483647 >= Version;
7811 case OMPC_message:
7812 return 60 <= Version && 2147483647 >= Version;
7813 case OMPC_num_threads:
7814 return 1 <= Version && 2147483647 >= Version;
7815 case OMPC_order:
7816 return 50 <= Version && 2147483647 >= Version;
7817 case OMPC_ordered:
7818 return 1 <= Version && 2147483647 >= Version;
7819 case OMPC_proc_bind:
7820 return 1 <= Version && 2147483647 >= Version;
7821 case OMPC_schedule:
7822 return 1 <= Version && 2147483647 >= Version;
7823 case OMPC_severity:
7824 return 60 <= Version && 2147483647 >= Version;
7825 default:
7826 return false;
7827 }
7828 break;
7829 case OMPD_parallel_for_simd:
7830 switch (C) {
7831 case OMPC_aligned:
7832 return 1 <= Version && 2147483647 >= Version;
7833 case OMPC_allocate:
7834 return 1 <= Version && 2147483647 >= Version;
7835 case OMPC_copyin:
7836 return 1 <= Version && 2147483647 >= Version;
7837 case OMPC_firstprivate:
7838 return 1 <= Version && 2147483647 >= Version;
7839 case OMPC_if:
7840 return 1 <= Version && 2147483647 >= Version;
7841 case OMPC_lastprivate:
7842 return 1 <= Version && 2147483647 >= Version;
7843 case OMPC_linear:
7844 return 1 <= Version && 2147483647 >= Version;
7845 case OMPC_nontemporal:
7846 return 50 <= Version && 2147483647 >= Version;
7847 case OMPC_ompx_attribute:
7848 return 1 <= Version && 2147483647 >= Version;
7849 case OMPC_private:
7850 return 1 <= Version && 2147483647 >= Version;
7851 case OMPC_reduction:
7852 return 1 <= Version && 2147483647 >= Version;
7853 case OMPC_shared:
7854 return 1 <= Version && 2147483647 >= Version;
7855 case OMPC_collapse:
7856 return 1 <= Version && 2147483647 >= Version;
7857 case OMPC_default:
7858 return 1 <= Version && 2147483647 >= Version;
7859 case OMPC_message:
7860 return 60 <= Version && 2147483647 >= Version;
7861 case OMPC_num_threads:
7862 return 1 <= Version && 2147483647 >= Version;
7863 case OMPC_order:
7864 return 50 <= Version && 2147483647 >= Version;
7865 case OMPC_ordered:
7866 return 1 <= Version && 2147483647 >= Version;
7867 case OMPC_proc_bind:
7868 return 1 <= Version && 2147483647 >= Version;
7869 case OMPC_safelen:
7870 return 1 <= Version && 2147483647 >= Version;
7871 case OMPC_schedule:
7872 return 1 <= Version && 2147483647 >= Version;
7873 case OMPC_severity:
7874 return 60 <= Version && 2147483647 >= Version;
7875 case OMPC_simdlen:
7876 return 1 <= Version && 2147483647 >= Version;
7877 default:
7878 return false;
7879 }
7880 break;
7881 case OMPD_parallel_masked:
7882 switch (C) {
7883 case OMPC_allocate:
7884 return 1 <= Version && 2147483647 >= Version;
7885 case OMPC_copyin:
7886 return 1 <= Version && 2147483647 >= Version;
7887 case OMPC_firstprivate:
7888 return 1 <= Version && 2147483647 >= Version;
7889 case OMPC_if:
7890 return 1 <= Version && 2147483647 >= Version;
7891 case OMPC_ompx_attribute:
7892 return 1 <= Version && 2147483647 >= Version;
7893 case OMPC_private:
7894 return 1 <= Version && 2147483647 >= Version;
7895 case OMPC_reduction:
7896 return 1 <= Version && 2147483647 >= Version;
7897 case OMPC_shared:
7898 return 1 <= Version && 2147483647 >= Version;
7899 case OMPC_default:
7900 return 1 <= Version && 2147483647 >= Version;
7901 case OMPC_filter:
7902 return 1 <= Version && 2147483647 >= Version;
7903 case OMPC_message:
7904 return 60 <= Version && 2147483647 >= Version;
7905 case OMPC_num_threads:
7906 return 1 <= Version && 2147483647 >= Version;
7907 case OMPC_proc_bind:
7908 return 1 <= Version && 2147483647 >= Version;
7909 case OMPC_severity:
7910 return 60 <= Version && 2147483647 >= Version;
7911 default:
7912 return false;
7913 }
7914 break;
7915 case OMPD_parallel_masked_taskloop:
7916 switch (C) {
7917 case OMPC_allocate:
7918 return 1 <= Version && 2147483647 >= Version;
7919 case OMPC_copyin:
7920 return 1 <= Version && 2147483647 >= Version;
7921 case OMPC_firstprivate:
7922 return 1 <= Version && 2147483647 >= Version;
7923 case OMPC_if:
7924 return 1 <= Version && 2147483647 >= Version;
7925 case OMPC_lastprivate:
7926 return 1 <= Version && 2147483647 >= Version;
7927 case OMPC_ompx_attribute:
7928 return 1 <= Version && 2147483647 >= Version;
7929 case OMPC_private:
7930 return 1 <= Version && 2147483647 >= Version;
7931 case OMPC_reduction:
7932 return 1 <= Version && 2147483647 >= Version;
7933 case OMPC_shared:
7934 return 1 <= Version && 2147483647 >= Version;
7935 case OMPC_collapse:
7936 return 1 <= Version && 2147483647 >= Version;
7937 case OMPC_default:
7938 return 1 <= Version && 2147483647 >= Version;
7939 case OMPC_filter:
7940 return 1 <= Version && 2147483647 >= Version;
7941 case OMPC_final:
7942 return 1 <= Version && 2147483647 >= Version;
7943 case OMPC_grainsize:
7944 return 1 <= Version && 2147483647 >= Version;
7945 case OMPC_mergeable:
7946 return 1 <= Version && 2147483647 >= Version;
7947 case OMPC_message:
7948 return 60 <= Version && 2147483647 >= Version;
7949 case OMPC_nogroup:
7950 return 1 <= Version && 2147483647 >= Version;
7951 case OMPC_num_tasks:
7952 return 1 <= Version && 2147483647 >= Version;
7953 case OMPC_num_threads:
7954 return 1 <= Version && 2147483647 >= Version;
7955 case OMPC_priority:
7956 return 1 <= Version && 2147483647 >= Version;
7957 case OMPC_proc_bind:
7958 return 1 <= Version && 2147483647 >= Version;
7959 case OMPC_severity:
7960 return 60 <= Version && 2147483647 >= Version;
7961 case OMPC_untied:
7962 return 1 <= Version && 2147483647 >= Version;
7963 default:
7964 return false;
7965 }
7966 break;
7967 case OMPD_parallel_masked_taskloop_simd:
7968 switch (C) {
7969 case OMPC_aligned:
7970 return 1 <= Version && 2147483647 >= Version;
7971 case OMPC_allocate:
7972 return 1 <= Version && 2147483647 >= Version;
7973 case OMPC_copyin:
7974 return 1 <= Version && 2147483647 >= Version;
7975 case OMPC_firstprivate:
7976 return 1 <= Version && 2147483647 >= Version;
7977 case OMPC_if:
7978 return 1 <= Version && 2147483647 >= Version;
7979 case OMPC_lastprivate:
7980 return 1 <= Version && 2147483647 >= Version;
7981 case OMPC_linear:
7982 return 1 <= Version && 2147483647 >= Version;
7983 case OMPC_nontemporal:
7984 return 50 <= Version && 2147483647 >= Version;
7985 case OMPC_ompx_attribute:
7986 return 1 <= Version && 2147483647 >= Version;
7987 case OMPC_private:
7988 return 1 <= Version && 2147483647 >= Version;
7989 case OMPC_reduction:
7990 return 1 <= Version && 2147483647 >= Version;
7991 case OMPC_shared:
7992 return 1 <= Version && 2147483647 >= Version;
7993 case OMPC_collapse:
7994 return 1 <= Version && 2147483647 >= Version;
7995 case OMPC_default:
7996 return 1 <= Version && 2147483647 >= Version;
7997 case OMPC_filter:
7998 return 1 <= Version && 2147483647 >= Version;
7999 case OMPC_final:
8000 return 1 <= Version && 2147483647 >= Version;
8001 case OMPC_grainsize:
8002 return 1 <= Version && 2147483647 >= Version;
8003 case OMPC_mergeable:
8004 return 1 <= Version && 2147483647 >= Version;
8005 case OMPC_message:
8006 return 60 <= Version && 2147483647 >= Version;
8007 case OMPC_nogroup:
8008 return 1 <= Version && 2147483647 >= Version;
8009 case OMPC_num_tasks:
8010 return 1 <= Version && 2147483647 >= Version;
8011 case OMPC_num_threads:
8012 return 1 <= Version && 2147483647 >= Version;
8013 case OMPC_order:
8014 return 50 <= Version && 2147483647 >= Version;
8015 case OMPC_priority:
8016 return 1 <= Version && 2147483647 >= Version;
8017 case OMPC_proc_bind:
8018 return 1 <= Version && 2147483647 >= Version;
8019 case OMPC_safelen:
8020 return 1 <= Version && 2147483647 >= Version;
8021 case OMPC_severity:
8022 return 60 <= Version && 2147483647 >= Version;
8023 case OMPC_simdlen:
8024 return 1 <= Version && 2147483647 >= Version;
8025 case OMPC_untied:
8026 return 1 <= Version && 2147483647 >= Version;
8027 default:
8028 return false;
8029 }
8030 break;
8031 case OMPD_parallel_master:
8032 switch (C) {
8033 case OMPC_allocate:
8034 return 1 <= Version && 2147483647 >= Version;
8035 case OMPC_copyin:
8036 return 1 <= Version && 2147483647 >= Version;
8037 case OMPC_firstprivate:
8038 return 1 <= Version && 2147483647 >= Version;
8039 case OMPC_if:
8040 return 1 <= Version && 2147483647 >= Version;
8041 case OMPC_ompx_attribute:
8042 return 1 <= Version && 2147483647 >= Version;
8043 case OMPC_private:
8044 return 1 <= Version && 2147483647 >= Version;
8045 case OMPC_reduction:
8046 return 1 <= Version && 2147483647 >= Version;
8047 case OMPC_shared:
8048 return 1 <= Version && 2147483647 >= Version;
8049 case OMPC_default:
8050 return 1 <= Version && 2147483647 >= Version;
8051 case OMPC_message:
8052 return 60 <= Version && 2147483647 >= Version;
8053 case OMPC_num_threads:
8054 return 1 <= Version && 2147483647 >= Version;
8055 case OMPC_proc_bind:
8056 return 1 <= Version && 2147483647 >= Version;
8057 case OMPC_severity:
8058 return 60 <= Version && 2147483647 >= Version;
8059 default:
8060 return false;
8061 }
8062 break;
8063 case OMPD_parallel_master_taskloop:
8064 switch (C) {
8065 case OMPC_allocate:
8066 return 1 <= Version && 2147483647 >= Version;
8067 case OMPC_copyin:
8068 return 1 <= Version && 2147483647 >= Version;
8069 case OMPC_firstprivate:
8070 return 1 <= Version && 2147483647 >= Version;
8071 case OMPC_if:
8072 return 1 <= Version && 2147483647 >= Version;
8073 case OMPC_lastprivate:
8074 return 1 <= Version && 2147483647 >= Version;
8075 case OMPC_ompx_attribute:
8076 return 1 <= Version && 2147483647 >= Version;
8077 case OMPC_private:
8078 return 1 <= Version && 2147483647 >= Version;
8079 case OMPC_reduction:
8080 return 1 <= Version && 2147483647 >= Version;
8081 case OMPC_shared:
8082 return 1 <= Version && 2147483647 >= Version;
8083 case OMPC_collapse:
8084 return 1 <= Version && 2147483647 >= Version;
8085 case OMPC_default:
8086 return 1 <= Version && 2147483647 >= Version;
8087 case OMPC_final:
8088 return 1 <= Version && 2147483647 >= Version;
8089 case OMPC_grainsize:
8090 return 1 <= Version && 2147483647 >= Version;
8091 case OMPC_mergeable:
8092 return 1 <= Version && 2147483647 >= Version;
8093 case OMPC_message:
8094 return 60 <= Version && 2147483647 >= Version;
8095 case OMPC_nogroup:
8096 return 1 <= Version && 2147483647 >= Version;
8097 case OMPC_num_tasks:
8098 return 1 <= Version && 2147483647 >= Version;
8099 case OMPC_num_threads:
8100 return 1 <= Version && 2147483647 >= Version;
8101 case OMPC_priority:
8102 return 1 <= Version && 2147483647 >= Version;
8103 case OMPC_proc_bind:
8104 return 1 <= Version && 2147483647 >= Version;
8105 case OMPC_severity:
8106 return 60 <= Version && 2147483647 >= Version;
8107 case OMPC_untied:
8108 return 1 <= Version && 2147483647 >= Version;
8109 default:
8110 return false;
8111 }
8112 break;
8113 case OMPD_parallel_master_taskloop_simd:
8114 switch (C) {
8115 case OMPC_aligned:
8116 return 1 <= Version && 2147483647 >= Version;
8117 case OMPC_allocate:
8118 return 1 <= Version && 2147483647 >= Version;
8119 case OMPC_copyin:
8120 return 1 <= Version && 2147483647 >= Version;
8121 case OMPC_firstprivate:
8122 return 1 <= Version && 2147483647 >= Version;
8123 case OMPC_if:
8124 return 1 <= Version && 2147483647 >= Version;
8125 case OMPC_lastprivate:
8126 return 1 <= Version && 2147483647 >= Version;
8127 case OMPC_linear:
8128 return 1 <= Version && 2147483647 >= Version;
8129 case OMPC_nontemporal:
8130 return 50 <= Version && 2147483647 >= Version;
8131 case OMPC_ompx_attribute:
8132 return 1 <= Version && 2147483647 >= Version;
8133 case OMPC_private:
8134 return 1 <= Version && 2147483647 >= Version;
8135 case OMPC_reduction:
8136 return 1 <= Version && 2147483647 >= Version;
8137 case OMPC_shared:
8138 return 1 <= Version && 2147483647 >= Version;
8139 case OMPC_collapse:
8140 return 1 <= Version && 2147483647 >= Version;
8141 case OMPC_default:
8142 return 1 <= Version && 2147483647 >= Version;
8143 case OMPC_final:
8144 return 1 <= Version && 2147483647 >= Version;
8145 case OMPC_grainsize:
8146 return 1 <= Version && 2147483647 >= Version;
8147 case OMPC_mergeable:
8148 return 1 <= Version && 2147483647 >= Version;
8149 case OMPC_message:
8150 return 60 <= Version && 2147483647 >= Version;
8151 case OMPC_nogroup:
8152 return 1 <= Version && 2147483647 >= Version;
8153 case OMPC_num_tasks:
8154 return 1 <= Version && 2147483647 >= Version;
8155 case OMPC_num_threads:
8156 return 1 <= Version && 2147483647 >= Version;
8157 case OMPC_order:
8158 return 50 <= Version && 2147483647 >= Version;
8159 case OMPC_priority:
8160 return 1 <= Version && 2147483647 >= Version;
8161 case OMPC_proc_bind:
8162 return 1 <= Version && 2147483647 >= Version;
8163 case OMPC_safelen:
8164 return 1 <= Version && 2147483647 >= Version;
8165 case OMPC_severity:
8166 return 60 <= Version && 2147483647 >= Version;
8167 case OMPC_simdlen:
8168 return 1 <= Version && 2147483647 >= Version;
8169 case OMPC_untied:
8170 return 1 <= Version && 2147483647 >= Version;
8171 default:
8172 return false;
8173 }
8174 break;
8175 case OMPD_parallel_sections:
8176 switch (C) {
8177 case OMPC_allocate:
8178 return 1 <= Version && 2147483647 >= Version;
8179 case OMPC_copyin:
8180 return 1 <= Version && 2147483647 >= Version;
8181 case OMPC_firstprivate:
8182 return 1 <= Version && 2147483647 >= Version;
8183 case OMPC_if:
8184 return 1 <= Version && 2147483647 >= Version;
8185 case OMPC_lastprivate:
8186 return 1 <= Version && 2147483647 >= Version;
8187 case OMPC_ompx_attribute:
8188 return 1 <= Version && 2147483647 >= Version;
8189 case OMPC_private:
8190 return 1 <= Version && 2147483647 >= Version;
8191 case OMPC_reduction:
8192 return 1 <= Version && 2147483647 >= Version;
8193 case OMPC_shared:
8194 return 1 <= Version && 2147483647 >= Version;
8195 case OMPC_default:
8196 return 1 <= Version && 2147483647 >= Version;
8197 case OMPC_message:
8198 return 60 <= Version && 2147483647 >= Version;
8199 case OMPC_num_threads:
8200 return 1 <= Version && 2147483647 >= Version;
8201 case OMPC_proc_bind:
8202 return 1 <= Version && 2147483647 >= Version;
8203 case OMPC_severity:
8204 return 60 <= Version && 2147483647 >= Version;
8205 default:
8206 return false;
8207 }
8208 break;
8209 case OMPD_parallel_workshare:
8210 switch (C) {
8211 case OMPC_allocate:
8212 return 1 <= Version && 2147483647 >= Version;
8213 case OMPC_copyin:
8214 return 1 <= Version && 2147483647 >= Version;
8215 case OMPC_firstprivate:
8216 return 1 <= Version && 2147483647 >= Version;
8217 case OMPC_if:
8218 return 1 <= Version && 2147483647 >= Version;
8219 case OMPC_private:
8220 return 1 <= Version && 2147483647 >= Version;
8221 case OMPC_reduction:
8222 return 1 <= Version && 2147483647 >= Version;
8223 case OMPC_shared:
8224 return 1 <= Version && 2147483647 >= Version;
8225 case OMPC_default:
8226 return 1 <= Version && 2147483647 >= Version;
8227 case OMPC_message:
8228 return 60 <= Version && 2147483647 >= Version;
8229 case OMPC_num_threads:
8230 return 1 <= Version && 2147483647 >= Version;
8231 case OMPC_proc_bind:
8232 return 1 <= Version && 2147483647 >= Version;
8233 case OMPC_severity:
8234 return 60 <= Version && 2147483647 >= Version;
8235 default:
8236 return false;
8237 }
8238 break;
8239 case OMPD_requires:
8240 switch (C) {
8241 case OMPC_atomic_default_mem_order:
8242 return 1 <= Version && 2147483647 >= Version;
8243 case OMPC_device_safesync:
8244 return 60 <= Version && 2147483647 >= Version;
8245 case OMPC_dynamic_allocators:
8246 return 1 <= Version && 2147483647 >= Version;
8247 case OMPC_reverse_offload:
8248 return 1 <= Version && 2147483647 >= Version;
8249 case OMPC_self_maps:
8250 return 1 <= Version && 2147483647 >= Version;
8251 case OMPC_unified_address:
8252 return 1 <= Version && 2147483647 >= Version;
8253 case OMPC_unified_shared_memory:
8254 return 1 <= Version && 2147483647 >= Version;
8255 default:
8256 return false;
8257 }
8258 break;
8259 case OMPD_reverse:
8260 return false;
8261 break;
8262 case OMPD_scan:
8263 switch (C) {
8264 case OMPC_exclusive:
8265 return 1 <= Version && 2147483647 >= Version;
8266 case OMPC_inclusive:
8267 return 1 <= Version && 2147483647 >= Version;
8268 default:
8269 return false;
8270 }
8271 break;
8272 case OMPD_scope:
8273 switch (C) {
8274 case OMPC_private:
8275 return 51 <= Version && 2147483647 >= Version;
8276 case OMPC_reduction:
8277 return 51 <= Version && 2147483647 >= Version;
8278 case OMPC_firstprivate:
8279 return 52 <= Version && 2147483647 >= Version;
8280 case OMPC_allocate:
8281 return 52 <= Version && 2147483647 >= Version;
8282 case OMPC_nowait:
8283 return 51 <= Version && 2147483647 >= Version;
8284 default:
8285 return false;
8286 }
8287 break;
8288 case OMPD_section:
8289 return false;
8290 break;
8291 case OMPD_sections:
8292 switch (C) {
8293 case OMPC_allocate:
8294 return 1 <= Version && 2147483647 >= Version;
8295 case OMPC_firstprivate:
8296 return 1 <= Version && 2147483647 >= Version;
8297 case OMPC_lastprivate:
8298 return 1 <= Version && 2147483647 >= Version;
8299 case OMPC_private:
8300 return 1 <= Version && 2147483647 >= Version;
8301 case OMPC_reduction:
8302 return 1 <= Version && 2147483647 >= Version;
8303 case OMPC_nowait:
8304 return 1 <= Version && 2147483647 >= Version;
8305 default:
8306 return false;
8307 }
8308 break;
8309 case OMPD_simd:
8310 switch (C) {
8311 case OMPC_aligned:
8312 return 1 <= Version && 2147483647 >= Version;
8313 case OMPC_allocate:
8314 return 1 <= Version && 2147483647 >= Version;
8315 case OMPC_if:
8316 return 50 <= Version && 2147483647 >= Version;
8317 case OMPC_lastprivate:
8318 return 1 <= Version && 2147483647 >= Version;
8319 case OMPC_linear:
8320 return 1 <= Version && 2147483647 >= Version;
8321 case OMPC_nontemporal:
8322 return 50 <= Version && 2147483647 >= Version;
8323 case OMPC_private:
8324 return 1 <= Version && 2147483647 >= Version;
8325 case OMPC_reduction:
8326 return 1 <= Version && 2147483647 >= Version;
8327 case OMPC_collapse:
8328 return 1 <= Version && 2147483647 >= Version;
8329 case OMPC_order:
8330 return 50 <= Version && 2147483647 >= Version;
8331 case OMPC_safelen:
8332 return 1 <= Version && 2147483647 >= Version;
8333 case OMPC_simdlen:
8334 return 1 <= Version && 2147483647 >= Version;
8335 default:
8336 return false;
8337 }
8338 break;
8339 case OMPD_single:
8340 switch (C) {
8341 case OMPC_allocate:
8342 return 1 <= Version && 2147483647 >= Version;
8343 case OMPC_copyprivate:
8344 return 1 <= Version && 2147483647 >= Version;
8345 case OMPC_firstprivate:
8346 return 1 <= Version && 2147483647 >= Version;
8347 case OMPC_private:
8348 return 1 <= Version && 2147483647 >= Version;
8349 case OMPC_nowait:
8350 return 1 <= Version && 2147483647 >= Version;
8351 default:
8352 return false;
8353 }
8354 break;
8355 case OMPD_split:
8356 switch (C) {
8357 case OMPC_counts:
8358 return 60 <= Version && 2147483647 >= Version;
8359 default:
8360 return false;
8361 }
8362 break;
8363 case OMPD_stripe:
8364 switch (C) {
8365 case OMPC_sizes:
8366 return 60 <= Version && 2147483647 >= Version;
8367 default:
8368 return false;
8369 }
8370 break;
8371 case OMPD_target:
8372 switch (C) {
8373 case OMPC_allocate:
8374 return 1 <= Version && 2147483647 >= Version;
8375 case OMPC_depend:
8376 return 1 <= Version && 2147483647 >= Version;
8377 case OMPC_dyn_groupprivate:
8378 return 61 <= Version && 2147483647 >= Version;
8379 case OMPC_firstprivate:
8380 return 1 <= Version && 2147483647 >= Version;
8381 case OMPC_if:
8382 return 1 <= Version && 2147483647 >= Version;
8383 case OMPC_has_device_addr:
8384 return 51 <= Version && 2147483647 >= Version;
8385 case OMPC_in_reduction:
8386 return 50 <= Version && 2147483647 >= Version;
8387 case OMPC_is_device_ptr:
8388 return 1 <= Version && 2147483647 >= Version;
8389 case OMPC_map:
8390 return 1 <= Version && 2147483647 >= Version;
8391 case OMPC_ompx_attribute:
8392 return 1 <= Version && 2147483647 >= Version;
8393 case OMPC_private:
8394 return 1 <= Version && 2147483647 >= Version;
8395 case OMPC_uses_allocators:
8396 return 50 <= Version && 2147483647 >= Version;
8397 case OMPC_default:
8398 return 60 <= Version && 2147483647 >= Version;
8399 case OMPC_defaultmap:
8400 return 1 <= Version && 2147483647 >= Version;
8401 case OMPC_device:
8402 return 1 <= Version && 2147483647 >= Version;
8403 case OMPC_nowait:
8404 return 1 <= Version && 2147483647 >= Version;
8405 case OMPC_ompx_bare:
8406 return 1 <= Version && 2147483647 >= Version;
8407 case OMPC_ompx_dyn_cgroup_mem:
8408 return 1 <= Version && 2147483647 >= Version;
8409 case OMPC_replayable:
8410 return 60 <= Version && 2147483647 >= Version;
8411 case OMPC_thread_limit:
8412 return 51 <= Version && 2147483647 >= Version;
8413 default:
8414 return false;
8415 }
8416 break;
8417 case OMPD_target_data:
8418 switch (C) {
8419 case OMPC_if:
8420 return 1 <= Version && 2147483647 >= Version;
8421 case OMPC_default:
8422 return 60 <= Version && 2147483647 >= Version;
8423 case OMPC_device:
8424 return 1 <= Version && 2147483647 >= Version;
8425 case OMPC_transparent:
8426 return 60 <= Version && 2147483647 >= Version;
8427 case OMPC_map:
8428 return 1 <= Version && 2147483647 >= Version;
8429 case OMPC_use_device_addr:
8430 return 50 <= Version && 2147483647 >= Version;
8431 case OMPC_use_device_ptr:
8432 return 1 <= Version && 2147483647 >= Version;
8433 default:
8434 return false;
8435 }
8436 break;
8437 case OMPD_target_enter_data:
8438 switch (C) {
8439 case OMPC_depend:
8440 return 1 <= Version && 2147483647 >= Version;
8441 case OMPC_if:
8442 return 1 <= Version && 2147483647 >= Version;
8443 case OMPC_device:
8444 return 1 <= Version && 2147483647 >= Version;
8445 case OMPC_nowait:
8446 return 1 <= Version && 2147483647 >= Version;
8447 case OMPC_replayable:
8448 return 60 <= Version && 2147483647 >= Version;
8449 case OMPC_map:
8450 return 1 <= Version && 2147483647 >= Version;
8451 default:
8452 return false;
8453 }
8454 break;
8455 case OMPD_target_exit_data:
8456 switch (C) {
8457 case OMPC_depend:
8458 return 1 <= Version && 2147483647 >= Version;
8459 case OMPC_if:
8460 return 1 <= Version && 2147483647 >= Version;
8461 case OMPC_device:
8462 return 1 <= Version && 2147483647 >= Version;
8463 case OMPC_nowait:
8464 return 1 <= Version && 2147483647 >= Version;
8465 case OMPC_replayable:
8466 return 60 <= Version && 2147483647 >= Version;
8467 case OMPC_map:
8468 return 1 <= Version && 2147483647 >= Version;
8469 default:
8470 return false;
8471 }
8472 break;
8473 case OMPD_target_parallel:
8474 switch (C) {
8475 case OMPC_allocate:
8476 return 1 <= Version && 2147483647 >= Version;
8477 case OMPC_depend:
8478 return 1 <= Version && 2147483647 >= Version;
8479 case OMPC_dyn_groupprivate:
8480 return 61 <= Version && 2147483647 >= Version;
8481 case OMPC_firstprivate:
8482 return 1 <= Version && 2147483647 >= Version;
8483 case OMPC_has_device_addr:
8484 return 51 <= Version && 2147483647 >= Version;
8485 case OMPC_if:
8486 return 1 <= Version && 2147483647 >= Version;
8487 case OMPC_is_device_ptr:
8488 return 1 <= Version && 2147483647 >= Version;
8489 case OMPC_map:
8490 return 1 <= Version && 2147483647 >= Version;
8491 case OMPC_ompx_attribute:
8492 return 1 <= Version && 2147483647 >= Version;
8493 case OMPC_private:
8494 return 1 <= Version && 2147483647 >= Version;
8495 case OMPC_reduction:
8496 return 1 <= Version && 2147483647 >= Version;
8497 case OMPC_shared:
8498 return 1 <= Version && 2147483647 >= Version;
8499 case OMPC_uses_allocators:
8500 return 50 <= Version && 2147483647 >= Version;
8501 case OMPC_default:
8502 return 1 <= Version && 2147483647 >= Version;
8503 case OMPC_defaultmap:
8504 return 1 <= Version && 2147483647 >= Version;
8505 case OMPC_device:
8506 return 1 <= Version && 2147483647 >= Version;
8507 case OMPC_message:
8508 return 60 <= Version && 2147483647 >= Version;
8509 case OMPC_nowait:
8510 return 1 <= Version && 2147483647 >= Version;
8511 case OMPC_num_threads:
8512 return 1 <= Version && 2147483647 >= Version;
8513 case OMPC_ompx_dyn_cgroup_mem:
8514 return 1 <= Version && 2147483647 >= Version;
8515 case OMPC_proc_bind:
8516 return 1 <= Version && 2147483647 >= Version;
8517 case OMPC_severity:
8518 return 60 <= Version && 2147483647 >= Version;
8519 case OMPC_thread_limit:
8520 return 51 <= Version && 2147483647 >= Version;
8521 default:
8522 return false;
8523 }
8524 break;
8525 case OMPD_target_parallel_do:
8526 switch (C) {
8527 case OMPC_depend:
8528 return 1 <= Version && 2147483647 >= Version;
8529 case OMPC_dyn_groupprivate:
8530 return 61 <= Version && 2147483647 >= Version;
8531 case OMPC_firstprivate:
8532 return 1 <= Version && 2147483647 >= Version;
8533 case OMPC_has_device_addr:
8534 return 51 <= Version && 2147483647 >= Version;
8535 case OMPC_if:
8536 return 1 <= Version && 2147483647 >= Version;
8537 case OMPC_is_device_ptr:
8538 return 1 <= Version && 2147483647 >= Version;
8539 case OMPC_lastprivate:
8540 return 1 <= Version && 2147483647 >= Version;
8541 case OMPC_linear:
8542 return 1 <= Version && 2147483647 >= Version;
8543 case OMPC_map:
8544 return 1 <= Version && 2147483647 >= Version;
8545 case OMPC_private:
8546 return 1 <= Version && 2147483647 >= Version;
8547 case OMPC_reduction:
8548 return 1 <= Version && 2147483647 >= Version;
8549 case OMPC_shared:
8550 return 1 <= Version && 2147483647 >= Version;
8551 case OMPC_uses_allocators:
8552 return 1 <= Version && 2147483647 >= Version;
8553 case OMPC_allocator:
8554 return 1 <= Version && 2147483647 >= Version;
8555 case OMPC_collapse:
8556 return 1 <= Version && 2147483647 >= Version;
8557 case OMPC_default:
8558 return 1 <= Version && 2147483647 >= Version;
8559 case OMPC_defaultmap:
8560 return 1 <= Version && 2147483647 >= Version;
8561 case OMPC_device:
8562 return 1 <= Version && 2147483647 >= Version;
8563 case OMPC_message:
8564 return 60 <= Version && 2147483647 >= Version;
8565 case OMPC_nowait:
8566 return 1 <= Version && 2147483647 >= Version;
8567 case OMPC_num_threads:
8568 return 1 <= Version && 2147483647 >= Version;
8569 case OMPC_order:
8570 return 50 <= Version && 2147483647 >= Version;
8571 case OMPC_ordered:
8572 return 1 <= Version && 2147483647 >= Version;
8573 case OMPC_proc_bind:
8574 return 1 <= Version && 2147483647 >= Version;
8575 case OMPC_schedule:
8576 return 1 <= Version && 2147483647 >= Version;
8577 case OMPC_severity:
8578 return 60 <= Version && 2147483647 >= Version;
8579 default:
8580 return false;
8581 }
8582 break;
8583 case OMPD_target_parallel_do_simd:
8584 switch (C) {
8585 case OMPC_aligned:
8586 return 1 <= Version && 2147483647 >= Version;
8587 case OMPC_allocate:
8588 return 1 <= Version && 2147483647 >= Version;
8589 case OMPC_depend:
8590 return 1 <= Version && 2147483647 >= Version;
8591 case OMPC_dyn_groupprivate:
8592 return 61 <= Version && 2147483647 >= Version;
8593 case OMPC_firstprivate:
8594 return 1 <= Version && 2147483647 >= Version;
8595 case OMPC_has_device_addr:
8596 return 51 <= Version && 2147483647 >= Version;
8597 case OMPC_if:
8598 return 1 <= Version && 2147483647 >= Version;
8599 case OMPC_is_device_ptr:
8600 return 1 <= Version && 2147483647 >= Version;
8601 case OMPC_lastprivate:
8602 return 1 <= Version && 2147483647 >= Version;
8603 case OMPC_linear:
8604 return 1 <= Version && 2147483647 >= Version;
8605 case OMPC_map:
8606 return 1 <= Version && 2147483647 >= Version;
8607 case OMPC_nontemporal:
8608 return 1 <= Version && 2147483647 >= Version;
8609 case OMPC_private:
8610 return 1 <= Version && 2147483647 >= Version;
8611 case OMPC_reduction:
8612 return 1 <= Version && 2147483647 >= Version;
8613 case OMPC_shared:
8614 return 1 <= Version && 2147483647 >= Version;
8615 case OMPC_uses_allocators:
8616 return 1 <= Version && 2147483647 >= Version;
8617 case OMPC_collapse:
8618 return 1 <= Version && 2147483647 >= Version;
8619 case OMPC_default:
8620 return 1 <= Version && 2147483647 >= Version;
8621 case OMPC_defaultmap:
8622 return 1 <= Version && 2147483647 >= Version;
8623 case OMPC_device:
8624 return 1 <= Version && 2147483647 >= Version;
8625 case OMPC_message:
8626 return 60 <= Version && 2147483647 >= Version;
8627 case OMPC_nowait:
8628 return 1 <= Version && 2147483647 >= Version;
8629 case OMPC_num_threads:
8630 return 1 <= Version && 2147483647 >= Version;
8631 case OMPC_order:
8632 return 50 <= Version && 2147483647 >= Version;
8633 case OMPC_ordered:
8634 return 1 <= Version && 2147483647 >= Version;
8635 case OMPC_proc_bind:
8636 return 1 <= Version && 2147483647 >= Version;
8637 case OMPC_safelen:
8638 return 1 <= Version && 2147483647 >= Version;
8639 case OMPC_schedule:
8640 return 1 <= Version && 2147483647 >= Version;
8641 case OMPC_severity:
8642 return 60 <= Version && 2147483647 >= Version;
8643 case OMPC_simdlen:
8644 return 1 <= Version && 2147483647 >= Version;
8645 default:
8646 return false;
8647 }
8648 break;
8649 case OMPD_target_parallel_for:
8650 switch (C) {
8651 case OMPC_allocate:
8652 return 1 <= Version && 2147483647 >= Version;
8653 case OMPC_depend:
8654 return 1 <= Version && 2147483647 >= Version;
8655 case OMPC_dyn_groupprivate:
8656 return 61 <= Version && 2147483647 >= Version;
8657 case OMPC_firstprivate:
8658 return 1 <= Version && 2147483647 >= Version;
8659 case OMPC_has_device_addr:
8660 return 51 <= Version && 2147483647 >= Version;
8661 case OMPC_if:
8662 return 1 <= Version && 2147483647 >= Version;
8663 case OMPC_is_device_ptr:
8664 return 1 <= Version && 2147483647 >= Version;
8665 case OMPC_lastprivate:
8666 return 1 <= Version && 2147483647 >= Version;
8667 case OMPC_linear:
8668 return 1 <= Version && 2147483647 >= Version;
8669 case OMPC_map:
8670 return 1 <= Version && 2147483647 >= Version;
8671 case OMPC_ompx_attribute:
8672 return 1 <= Version && 2147483647 >= Version;
8673 case OMPC_private:
8674 return 1 <= Version && 2147483647 >= Version;
8675 case OMPC_reduction:
8676 return 1 <= Version && 2147483647 >= Version;
8677 case OMPC_shared:
8678 return 1 <= Version && 2147483647 >= Version;
8679 case OMPC_uses_allocators:
8680 return 50 <= Version && 2147483647 >= Version;
8681 case OMPC_collapse:
8682 return 1 <= Version && 2147483647 >= Version;
8683 case OMPC_default:
8684 return 1 <= Version && 2147483647 >= Version;
8685 case OMPC_defaultmap:
8686 return 1 <= Version && 2147483647 >= Version;
8687 case OMPC_device:
8688 return 1 <= Version && 2147483647 >= Version;
8689 case OMPC_message:
8690 return 60 <= Version && 2147483647 >= Version;
8691 case OMPC_nowait:
8692 return 1 <= Version && 2147483647 >= Version;
8693 case OMPC_num_threads:
8694 return 1 <= Version && 2147483647 >= Version;
8695 case OMPC_ompx_dyn_cgroup_mem:
8696 return 1 <= Version && 2147483647 >= Version;
8697 case OMPC_order:
8698 return 50 <= Version && 2147483647 >= Version;
8699 case OMPC_ordered:
8700 return 1 <= Version && 2147483647 >= Version;
8701 case OMPC_proc_bind:
8702 return 1 <= Version && 2147483647 >= Version;
8703 case OMPC_schedule:
8704 return 1 <= Version && 2147483647 >= Version;
8705 case OMPC_severity:
8706 return 60 <= Version && 2147483647 >= Version;
8707 case OMPC_thread_limit:
8708 return 51 <= Version && 2147483647 >= Version;
8709 default:
8710 return false;
8711 }
8712 break;
8713 case OMPD_target_parallel_for_simd:
8714 switch (C) {
8715 case OMPC_aligned:
8716 return 1 <= Version && 2147483647 >= Version;
8717 case OMPC_allocate:
8718 return 1 <= Version && 2147483647 >= Version;
8719 case OMPC_depend:
8720 return 1 <= Version && 2147483647 >= Version;
8721 case OMPC_dyn_groupprivate:
8722 return 61 <= Version && 2147483647 >= Version;
8723 case OMPC_firstprivate:
8724 return 1 <= Version && 2147483647 >= Version;
8725 case OMPC_has_device_addr:
8726 return 51 <= Version && 2147483647 >= Version;
8727 case OMPC_if:
8728 return 1 <= Version && 2147483647 >= Version;
8729 case OMPC_is_device_ptr:
8730 return 1 <= Version && 2147483647 >= Version;
8731 case OMPC_lastprivate:
8732 return 1 <= Version && 2147483647 >= Version;
8733 case OMPC_linear:
8734 return 1 <= Version && 2147483647 >= Version;
8735 case OMPC_map:
8736 return 1 <= Version && 2147483647 >= Version;
8737 case OMPC_nontemporal:
8738 return 50 <= Version && 2147483647 >= Version;
8739 case OMPC_ompx_attribute:
8740 return 1 <= Version && 2147483647 >= Version;
8741 case OMPC_private:
8742 return 1 <= Version && 2147483647 >= Version;
8743 case OMPC_reduction:
8744 return 1 <= Version && 2147483647 >= Version;
8745 case OMPC_shared:
8746 return 1 <= Version && 2147483647 >= Version;
8747 case OMPC_uses_allocators:
8748 return 50 <= Version && 2147483647 >= Version;
8749 case OMPC_collapse:
8750 return 1 <= Version && 2147483647 >= Version;
8751 case OMPC_default:
8752 return 1 <= Version && 2147483647 >= Version;
8753 case OMPC_defaultmap:
8754 return 1 <= Version && 2147483647 >= Version;
8755 case OMPC_device:
8756 return 1 <= Version && 2147483647 >= Version;
8757 case OMPC_message:
8758 return 60 <= Version && 2147483647 >= Version;
8759 case OMPC_nowait:
8760 return 1 <= Version && 2147483647 >= Version;
8761 case OMPC_num_threads:
8762 return 1 <= Version && 2147483647 >= Version;
8763 case OMPC_ompx_dyn_cgroup_mem:
8764 return 1 <= Version && 2147483647 >= Version;
8765 case OMPC_order:
8766 return 50 <= Version && 2147483647 >= Version;
8767 case OMPC_ordered:
8768 return 1 <= Version && 2147483647 >= Version;
8769 case OMPC_proc_bind:
8770 return 1 <= Version && 2147483647 >= Version;
8771 case OMPC_safelen:
8772 return 1 <= Version && 2147483647 >= Version;
8773 case OMPC_schedule:
8774 return 1 <= Version && 2147483647 >= Version;
8775 case OMPC_severity:
8776 return 60 <= Version && 2147483647 >= Version;
8777 case OMPC_simdlen:
8778 return 1 <= Version && 2147483647 >= Version;
8779 case OMPC_thread_limit:
8780 return 51 <= Version && 2147483647 >= Version;
8781 default:
8782 return false;
8783 }
8784 break;
8785 case OMPD_target_simd:
8786 switch (C) {
8787 case OMPC_aligned:
8788 return 1 <= Version && 2147483647 >= Version;
8789 case OMPC_allocate:
8790 return 1 <= Version && 2147483647 >= Version;
8791 case OMPC_depend:
8792 return 1 <= Version && 2147483647 >= Version;
8793 case OMPC_dyn_groupprivate:
8794 return 61 <= Version && 2147483647 >= Version;
8795 case OMPC_firstprivate:
8796 return 1 <= Version && 2147483647 >= Version;
8797 case OMPC_has_device_addr:
8798 return 51 <= Version && 2147483647 >= Version;
8799 case OMPC_if:
8800 return 1 <= Version && 2147483647 >= Version;
8801 case OMPC_is_device_ptr:
8802 return 1 <= Version && 2147483647 >= Version;
8803 case OMPC_lastprivate:
8804 return 1 <= Version && 2147483647 >= Version;
8805 case OMPC_linear:
8806 return 1 <= Version && 2147483647 >= Version;
8807 case OMPC_map:
8808 return 1 <= Version && 2147483647 >= Version;
8809 case OMPC_nontemporal:
8810 return 50 <= Version && 2147483647 >= Version;
8811 case OMPC_ompx_attribute:
8812 return 1 <= Version && 2147483647 >= Version;
8813 case OMPC_private:
8814 return 1 <= Version && 2147483647 >= Version;
8815 case OMPC_reduction:
8816 return 1 <= Version && 2147483647 >= Version;
8817 case OMPC_shared:
8818 return 1 <= Version && 2147483647 >= Version;
8819 case OMPC_uses_allocators:
8820 return 50 <= Version && 2147483647 >= Version;
8821 case OMPC_collapse:
8822 return 1 <= Version && 2147483647 >= Version;
8823 case OMPC_defaultmap:
8824 return 1 <= Version && 2147483647 >= Version;
8825 case OMPC_device:
8826 return 1 <= Version && 2147483647 >= Version;
8827 case OMPC_message:
8828 return 60 <= Version && 2147483647 >= Version;
8829 case OMPC_nowait:
8830 return 1 <= Version && 2147483647 >= Version;
8831 case OMPC_num_threads:
8832 return 1 <= Version && 2147483647 >= Version;
8833 case OMPC_ompx_dyn_cgroup_mem:
8834 return 1 <= Version && 2147483647 >= Version;
8835 case OMPC_order:
8836 return 50 <= Version && 2147483647 >= Version;
8837 case OMPC_proc_bind:
8838 return 1 <= Version && 2147483647 >= Version;
8839 case OMPC_safelen:
8840 return 1 <= Version && 2147483647 >= Version;
8841 case OMPC_schedule:
8842 return 1 <= Version && 2147483647 >= Version;
8843 case OMPC_severity:
8844 return 60 <= Version && 2147483647 >= Version;
8845 case OMPC_simdlen:
8846 return 1 <= Version && 2147483647 >= Version;
8847 case OMPC_thread_limit:
8848 return 51 <= Version && 2147483647 >= Version;
8849 default:
8850 return false;
8851 }
8852 break;
8853 case OMPD_target_teams:
8854 switch (C) {
8855 case OMPC_allocate:
8856 return 1 <= Version && 2147483647 >= Version;
8857 case OMPC_depend:
8858 return 1 <= Version && 2147483647 >= Version;
8859 case OMPC_dyn_groupprivate:
8860 return 61 <= Version && 2147483647 >= Version;
8861 case OMPC_firstprivate:
8862 return 1 <= Version && 2147483647 >= Version;
8863 case OMPC_has_device_addr:
8864 return 51 <= Version && 2147483647 >= Version;
8865 case OMPC_if:
8866 return 1 <= Version && 2147483647 >= Version;
8867 case OMPC_is_device_ptr:
8868 return 1 <= Version && 2147483647 >= Version;
8869 case OMPC_map:
8870 return 1 <= Version && 2147483647 >= Version;
8871 case OMPC_ompx_attribute:
8872 return 1 <= Version && 2147483647 >= Version;
8873 case OMPC_private:
8874 return 1 <= Version && 2147483647 >= Version;
8875 case OMPC_reduction:
8876 return 1 <= Version && 2147483647 >= Version;
8877 case OMPC_shared:
8878 return 1 <= Version && 2147483647 >= Version;
8879 case OMPC_uses_allocators:
8880 return 50 <= Version && 2147483647 >= Version;
8881 case OMPC_default:
8882 return 1 <= Version && 2147483647 >= Version;
8883 case OMPC_defaultmap:
8884 return 1 <= Version && 2147483647 >= Version;
8885 case OMPC_device:
8886 return 1 <= Version && 2147483647 >= Version;
8887 case OMPC_nowait:
8888 return 1 <= Version && 2147483647 >= Version;
8889 case OMPC_num_teams:
8890 return 1 <= Version && 2147483647 >= Version;
8891 case OMPC_ompx_bare:
8892 return 1 <= Version && 2147483647 >= Version;
8893 case OMPC_ompx_dyn_cgroup_mem:
8894 return 1 <= Version && 2147483647 >= Version;
8895 case OMPC_thread_limit:
8896 return 1 <= Version && 2147483647 >= Version;
8897 default:
8898 return false;
8899 }
8900 break;
8901 case OMPD_target_teams_distribute:
8902 switch (C) {
8903 case OMPC_allocate:
8904 return 1 <= Version && 2147483647 >= Version;
8905 case OMPC_depend:
8906 return 1 <= Version && 2147483647 >= Version;
8907 case OMPC_dyn_groupprivate:
8908 return 61 <= Version && 2147483647 >= Version;
8909 case OMPC_firstprivate:
8910 return 1 <= Version && 2147483647 >= Version;
8911 case OMPC_has_device_addr:
8912 return 51 <= Version && 2147483647 >= Version;
8913 case OMPC_if:
8914 return 1 <= Version && 2147483647 >= Version;
8915 case OMPC_is_device_ptr:
8916 return 1 <= Version && 2147483647 >= Version;
8917 case OMPC_lastprivate:
8918 return 1 <= Version && 2147483647 >= Version;
8919 case OMPC_map:
8920 return 1 <= Version && 2147483647 >= Version;
8921 case OMPC_ompx_attribute:
8922 return 1 <= Version && 2147483647 >= Version;
8923 case OMPC_private:
8924 return 1 <= Version && 2147483647 >= Version;
8925 case OMPC_reduction:
8926 return 1 <= Version && 2147483647 >= Version;
8927 case OMPC_shared:
8928 return 1 <= Version && 2147483647 >= Version;
8929 case OMPC_uses_allocators:
8930 return 50 <= Version && 2147483647 >= Version;
8931 case OMPC_collapse:
8932 return 1 <= Version && 2147483647 >= Version;
8933 case OMPC_default:
8934 return 1 <= Version && 2147483647 >= Version;
8935 case OMPC_defaultmap:
8936 return 1 <= Version && 2147483647 >= Version;
8937 case OMPC_device:
8938 return 1 <= Version && 2147483647 >= Version;
8939 case OMPC_dist_schedule:
8940 return 1 <= Version && 2147483647 >= Version;
8941 case OMPC_nowait:
8942 return 1 <= Version && 2147483647 >= Version;
8943 case OMPC_num_teams:
8944 return 1 <= Version && 2147483647 >= Version;
8945 case OMPC_ompx_dyn_cgroup_mem:
8946 return 1 <= Version && 2147483647 >= Version;
8947 case OMPC_order:
8948 return 50 <= Version && 2147483647 >= Version;
8949 case OMPC_thread_limit:
8950 return 1 <= Version && 2147483647 >= Version;
8951 default:
8952 return false;
8953 }
8954 break;
8955 case OMPD_target_teams_distribute_parallel_do:
8956 switch (C) {
8957 case OMPC_allocate:
8958 return 1 <= Version && 2147483647 >= Version;
8959 case OMPC_depend:
8960 return 1 <= Version && 2147483647 >= Version;
8961 case OMPC_dyn_groupprivate:
8962 return 61 <= Version && 2147483647 >= Version;
8963 case OMPC_firstprivate:
8964 return 1 <= Version && 2147483647 >= Version;
8965 case OMPC_has_device_addr:
8966 return 51 <= Version && 2147483647 >= Version;
8967 case OMPC_if:
8968 return 1 <= Version && 2147483647 >= Version;
8969 case OMPC_is_device_ptr:
8970 return 1 <= Version && 2147483647 >= Version;
8971 case OMPC_lastprivate:
8972 return 1 <= Version && 2147483647 >= Version;
8973 case OMPC_linear:
8974 return 1 <= Version && 2147483647 >= Version;
8975 case OMPC_map:
8976 return 1 <= Version && 2147483647 >= Version;
8977 case OMPC_private:
8978 return 1 <= Version && 2147483647 >= Version;
8979 case OMPC_reduction:
8980 return 1 <= Version && 2147483647 >= Version;
8981 case OMPC_shared:
8982 return 1 <= Version && 2147483647 >= Version;
8983 case OMPC_uses_allocators:
8984 return 1 <= Version && 2147483647 >= Version;
8985 case OMPC_collapse:
8986 return 1 <= Version && 2147483647 >= Version;
8987 case OMPC_default:
8988 return 1 <= Version && 2147483647 >= Version;
8989 case OMPC_defaultmap:
8990 return 1 <= Version && 2147483647 >= Version;
8991 case OMPC_device:
8992 return 1 <= Version && 2147483647 >= Version;
8993 case OMPC_dist_schedule:
8994 return 1 <= Version && 2147483647 >= Version;
8995 case OMPC_message:
8996 return 60 <= Version && 2147483647 >= Version;
8997 case OMPC_nowait:
8998 return 1 <= Version && 2147483647 >= Version;
8999 case OMPC_num_teams:
9000 return 1 <= Version && 2147483647 >= Version;
9001 case OMPC_num_threads:
9002 return 1 <= Version && 2147483647 >= Version;
9003 case OMPC_order:
9004 return 50 <= Version && 2147483647 >= Version;
9005 case OMPC_proc_bind:
9006 return 1 <= Version && 2147483647 >= Version;
9007 case OMPC_schedule:
9008 return 1 <= Version && 2147483647 >= Version;
9009 case OMPC_severity:
9010 return 60 <= Version && 2147483647 >= Version;
9011 case OMPC_thread_limit:
9012 return 1 <= Version && 2147483647 >= Version;
9013 default:
9014 return false;
9015 }
9016 break;
9017 case OMPD_target_teams_distribute_parallel_do_simd:
9018 switch (C) {
9019 case OMPC_aligned:
9020 return 1 <= Version && 2147483647 >= Version;
9021 case OMPC_allocate:
9022 return 1 <= Version && 2147483647 >= Version;
9023 case OMPC_depend:
9024 return 1 <= Version && 2147483647 >= Version;
9025 case OMPC_dyn_groupprivate:
9026 return 61 <= Version && 2147483647 >= Version;
9027 case OMPC_firstprivate:
9028 return 1 <= Version && 2147483647 >= Version;
9029 case OMPC_has_device_addr:
9030 return 51 <= Version && 2147483647 >= Version;
9031 case OMPC_if:
9032 return 1 <= Version && 2147483647 >= Version;
9033 case OMPC_is_device_ptr:
9034 return 1 <= Version && 2147483647 >= Version;
9035 case OMPC_lastprivate:
9036 return 1 <= Version && 2147483647 >= Version;
9037 case OMPC_linear:
9038 return 1 <= Version && 2147483647 >= Version;
9039 case OMPC_map:
9040 return 1 <= Version && 2147483647 >= Version;
9041 case OMPC_nontemporal:
9042 return 1 <= Version && 2147483647 >= Version;
9043 case OMPC_private:
9044 return 1 <= Version && 2147483647 >= Version;
9045 case OMPC_reduction:
9046 return 1 <= Version && 2147483647 >= Version;
9047 case OMPC_shared:
9048 return 1 <= Version && 2147483647 >= Version;
9049 case OMPC_uses_allocators:
9050 return 1 <= Version && 2147483647 >= Version;
9051 case OMPC_collapse:
9052 return 1 <= Version && 2147483647 >= Version;
9053 case OMPC_default:
9054 return 1 <= Version && 2147483647 >= Version;
9055 case OMPC_defaultmap:
9056 return 1 <= Version && 2147483647 >= Version;
9057 case OMPC_device:
9058 return 1 <= Version && 2147483647 >= Version;
9059 case OMPC_dist_schedule:
9060 return 1 <= Version && 2147483647 >= Version;
9061 case OMPC_message:
9062 return 60 <= Version && 2147483647 >= Version;
9063 case OMPC_nowait:
9064 return 1 <= Version && 2147483647 >= Version;
9065 case OMPC_num_teams:
9066 return 1 <= Version && 2147483647 >= Version;
9067 case OMPC_num_threads:
9068 return 1 <= Version && 2147483647 >= Version;
9069 case OMPC_order:
9070 return 50 <= Version && 2147483647 >= Version;
9071 case OMPC_proc_bind:
9072 return 1 <= Version && 2147483647 >= Version;
9073 case OMPC_safelen:
9074 return 1 <= Version && 2147483647 >= Version;
9075 case OMPC_schedule:
9076 return 1 <= Version && 2147483647 >= Version;
9077 case OMPC_severity:
9078 return 60 <= Version && 2147483647 >= Version;
9079 case OMPC_simdlen:
9080 return 1 <= Version && 2147483647 >= Version;
9081 case OMPC_thread_limit:
9082 return 1 <= Version && 2147483647 >= Version;
9083 default:
9084 return false;
9085 }
9086 break;
9087 case OMPD_target_teams_distribute_parallel_for:
9088 switch (C) {
9089 case OMPC_allocate:
9090 return 1 <= Version && 2147483647 >= Version;
9091 case OMPC_depend:
9092 return 1 <= Version && 2147483647 >= Version;
9093 case OMPC_dyn_groupprivate:
9094 return 61 <= Version && 2147483647 >= Version;
9095 case OMPC_firstprivate:
9096 return 1 <= Version && 2147483647 >= Version;
9097 case OMPC_has_device_addr:
9098 return 51 <= Version && 2147483647 >= Version;
9099 case OMPC_if:
9100 return 1 <= Version && 2147483647 >= Version;
9101 case OMPC_is_device_ptr:
9102 return 1 <= Version && 2147483647 >= Version;
9103 case OMPC_lastprivate:
9104 return 1 <= Version && 2147483647 >= Version;
9105 case OMPC_map:
9106 return 1 <= Version && 2147483647 >= Version;
9107 case OMPC_ompx_attribute:
9108 return 1 <= Version && 2147483647 >= Version;
9109 case OMPC_private:
9110 return 1 <= Version && 2147483647 >= Version;
9111 case OMPC_reduction:
9112 return 1 <= Version && 2147483647 >= Version;
9113 case OMPC_shared:
9114 return 1 <= Version && 2147483647 >= Version;
9115 case OMPC_uses_allocators:
9116 return 50 <= Version && 2147483647 >= Version;
9117 case OMPC_collapse:
9118 return 1 <= Version && 2147483647 >= Version;
9119 case OMPC_default:
9120 return 1 <= Version && 2147483647 >= Version;
9121 case OMPC_defaultmap:
9122 return 1 <= Version && 2147483647 >= Version;
9123 case OMPC_device:
9124 return 1 <= Version && 2147483647 >= Version;
9125 case OMPC_dist_schedule:
9126 return 1 <= Version && 2147483647 >= Version;
9127 case OMPC_message:
9128 return 60 <= Version && 2147483647 >= Version;
9129 case OMPC_nowait:
9130 return 1 <= Version && 2147483647 >= Version;
9131 case OMPC_num_teams:
9132 return 1 <= Version && 2147483647 >= Version;
9133 case OMPC_num_threads:
9134 return 1 <= Version && 2147483647 >= Version;
9135 case OMPC_ompx_dyn_cgroup_mem:
9136 return 1 <= Version && 2147483647 >= Version;
9137 case OMPC_order:
9138 return 50 <= Version && 2147483647 >= Version;
9139 case OMPC_proc_bind:
9140 return 1 <= Version && 2147483647 >= Version;
9141 case OMPC_schedule:
9142 return 1 <= Version && 2147483647 >= Version;
9143 case OMPC_severity:
9144 return 60 <= Version && 2147483647 >= Version;
9145 case OMPC_thread_limit:
9146 return 1 <= Version && 2147483647 >= Version;
9147 default:
9148 return false;
9149 }
9150 break;
9151 case OMPD_target_teams_distribute_parallel_for_simd:
9152 switch (C) {
9153 case OMPC_aligned:
9154 return 1 <= Version && 2147483647 >= Version;
9155 case OMPC_allocate:
9156 return 1 <= Version && 2147483647 >= Version;
9157 case OMPC_depend:
9158 return 1 <= Version && 2147483647 >= Version;
9159 case OMPC_dyn_groupprivate:
9160 return 61 <= Version && 2147483647 >= Version;
9161 case OMPC_firstprivate:
9162 return 1 <= Version && 2147483647 >= Version;
9163 case OMPC_has_device_addr:
9164 return 51 <= Version && 2147483647 >= Version;
9165 case OMPC_if:
9166 return 1 <= Version && 2147483647 >= Version;
9167 case OMPC_is_device_ptr:
9168 return 1 <= Version && 2147483647 >= Version;
9169 case OMPC_lastprivate:
9170 return 1 <= Version && 2147483647 >= Version;
9171 case OMPC_linear:
9172 return 1 <= Version && 2147483647 >= Version;
9173 case OMPC_map:
9174 return 1 <= Version && 2147483647 >= Version;
9175 case OMPC_nontemporal:
9176 return 50 <= Version && 2147483647 >= Version;
9177 case OMPC_ompx_attribute:
9178 return 1 <= Version && 2147483647 >= Version;
9179 case OMPC_private:
9180 return 1 <= Version && 2147483647 >= Version;
9181 case OMPC_reduction:
9182 return 1 <= Version && 2147483647 >= Version;
9183 case OMPC_shared:
9184 return 1 <= Version && 2147483647 >= Version;
9185 case OMPC_uses_allocators:
9186 return 50 <= Version && 2147483647 >= Version;
9187 case OMPC_collapse:
9188 return 1 <= Version && 2147483647 >= Version;
9189 case OMPC_default:
9190 return 1 <= Version && 2147483647 >= Version;
9191 case OMPC_defaultmap:
9192 return 1 <= Version && 2147483647 >= Version;
9193 case OMPC_device:
9194 return 1 <= Version && 2147483647 >= Version;
9195 case OMPC_dist_schedule:
9196 return 1 <= Version && 2147483647 >= Version;
9197 case OMPC_message:
9198 return 60 <= Version && 2147483647 >= Version;
9199 case OMPC_nowait:
9200 return 1 <= Version && 2147483647 >= Version;
9201 case OMPC_num_teams:
9202 return 1 <= Version && 2147483647 >= Version;
9203 case OMPC_num_threads:
9204 return 1 <= Version && 2147483647 >= Version;
9205 case OMPC_ompx_dyn_cgroup_mem:
9206 return 1 <= Version && 2147483647 >= Version;
9207 case OMPC_order:
9208 return 50 <= Version && 2147483647 >= Version;
9209 case OMPC_proc_bind:
9210 return 1 <= Version && 2147483647 >= Version;
9211 case OMPC_safelen:
9212 return 1 <= Version && 2147483647 >= Version;
9213 case OMPC_schedule:
9214 return 1 <= Version && 2147483647 >= Version;
9215 case OMPC_severity:
9216 return 60 <= Version && 2147483647 >= Version;
9217 case OMPC_simdlen:
9218 return 1 <= Version && 2147483647 >= Version;
9219 case OMPC_thread_limit:
9220 return 1 <= Version && 2147483647 >= Version;
9221 default:
9222 return false;
9223 }
9224 break;
9225 case OMPD_target_teams_distribute_simd:
9226 switch (C) {
9227 case OMPC_aligned:
9228 return 1 <= Version && 2147483647 >= Version;
9229 case OMPC_allocate:
9230 return 1 <= Version && 2147483647 >= Version;
9231 case OMPC_depend:
9232 return 1 <= Version && 2147483647 >= Version;
9233 case OMPC_dyn_groupprivate:
9234 return 61 <= Version && 2147483647 >= Version;
9235 case OMPC_firstprivate:
9236 return 1 <= Version && 2147483647 >= Version;
9237 case OMPC_has_device_addr:
9238 return 51 <= Version && 2147483647 >= Version;
9239 case OMPC_if:
9240 return 1 <= Version && 2147483647 >= Version;
9241 case OMPC_is_device_ptr:
9242 return 1 <= Version && 2147483647 >= Version;
9243 case OMPC_lastprivate:
9244 return 1 <= Version && 2147483647 >= Version;
9245 case OMPC_linear:
9246 return 1 <= Version && 2147483647 >= Version;
9247 case OMPC_map:
9248 return 1 <= Version && 2147483647 >= Version;
9249 case OMPC_nontemporal:
9250 return 50 <= Version && 2147483647 >= Version;
9251 case OMPC_ompx_attribute:
9252 return 1 <= Version && 2147483647 >= Version;
9253 case OMPC_private:
9254 return 1 <= Version && 2147483647 >= Version;
9255 case OMPC_reduction:
9256 return 1 <= Version && 2147483647 >= Version;
9257 case OMPC_shared:
9258 return 1 <= Version && 2147483647 >= Version;
9259 case OMPC_uses_allocators:
9260 return 50 <= Version && 2147483647 >= Version;
9261 case OMPC_collapse:
9262 return 1 <= Version && 2147483647 >= Version;
9263 case OMPC_default:
9264 return 60 <= Version && 2147483647 >= Version;
9265 case OMPC_defaultmap:
9266 return 1 <= Version && 2147483647 >= Version;
9267 case OMPC_device:
9268 return 1 <= Version && 2147483647 >= Version;
9269 case OMPC_dist_schedule:
9270 return 1 <= Version && 2147483647 >= Version;
9271 case OMPC_nowait:
9272 return 1 <= Version && 2147483647 >= Version;
9273 case OMPC_num_teams:
9274 return 1 <= Version && 2147483647 >= Version;
9275 case OMPC_ompx_dyn_cgroup_mem:
9276 return 1 <= Version && 2147483647 >= Version;
9277 case OMPC_order:
9278 return 50 <= Version && 2147483647 >= Version;
9279 case OMPC_safelen:
9280 return 1 <= Version && 2147483647 >= Version;
9281 case OMPC_simdlen:
9282 return 1 <= Version && 2147483647 >= Version;
9283 case OMPC_thread_limit:
9284 return 1 <= Version && 2147483647 >= Version;
9285 default:
9286 return false;
9287 }
9288 break;
9289 case OMPD_target_teams_workdistribute:
9290 switch (C) {
9291 case OMPC_allocate:
9292 return 1 <= Version && 2147483647 >= Version;
9293 case OMPC_depend:
9294 return 1 <= Version && 2147483647 >= Version;
9295 case OMPC_firstprivate:
9296 return 1 <= Version && 2147483647 >= Version;
9297 case OMPC_has_device_addr:
9298 return 51 <= Version && 2147483647 >= Version;
9299 case OMPC_if:
9300 return 1 <= Version && 2147483647 >= Version;
9301 case OMPC_is_device_ptr:
9302 return 1 <= Version && 2147483647 >= Version;
9303 case OMPC_map:
9304 return 1 <= Version && 2147483647 >= Version;
9305 case OMPC_ompx_attribute:
9306 return 1 <= Version && 2147483647 >= Version;
9307 case OMPC_private:
9308 return 1 <= Version && 2147483647 >= Version;
9309 case OMPC_reduction:
9310 return 1 <= Version && 2147483647 >= Version;
9311 case OMPC_shared:
9312 return 1 <= Version && 2147483647 >= Version;
9313 case OMPC_uses_allocators:
9314 return 50 <= Version && 2147483647 >= Version;
9315 case OMPC_default:
9316 return 1 <= Version && 2147483647 >= Version;
9317 case OMPC_defaultmap:
9318 return 1 <= Version && 2147483647 >= Version;
9319 case OMPC_device:
9320 return 1 <= Version && 2147483647 >= Version;
9321 case OMPC_nowait:
9322 return 1 <= Version && 2147483647 >= Version;
9323 case OMPC_num_teams:
9324 return 1 <= Version && 2147483647 >= Version;
9325 case OMPC_ompx_bare:
9326 return 1 <= Version && 2147483647 >= Version;
9327 case OMPC_ompx_dyn_cgroup_mem:
9328 return 1 <= Version && 2147483647 >= Version;
9329 case OMPC_thread_limit:
9330 return 1 <= Version && 2147483647 >= Version;
9331 default:
9332 return false;
9333 }
9334 break;
9335 case OMPD_target_update:
9336 switch (C) {
9337 case OMPC_depend:
9338 return 1 <= Version && 2147483647 >= Version;
9339 case OMPC_from:
9340 return 1 <= Version && 2147483647 >= Version;
9341 case OMPC_if:
9342 return 1 <= Version && 2147483647 >= Version;
9343 case OMPC_to:
9344 return 1 <= Version && 2147483647 >= Version;
9345 case OMPC_device:
9346 return 1 <= Version && 2147483647 >= Version;
9347 case OMPC_nowait:
9348 return 1 <= Version && 2147483647 >= Version;
9349 case OMPC_replayable:
9350 return 60 <= Version && 2147483647 >= Version;
9351 default:
9352 return false;
9353 }
9354 break;
9355 case OMPD_task:
9356 switch (C) {
9357 case OMPC_affinity:
9358 return 50 <= Version && 2147483647 >= Version;
9359 case OMPC_allocate:
9360 return 1 <= Version && 2147483647 >= Version;
9361 case OMPC_depend:
9362 return 1 <= Version && 2147483647 >= Version;
9363 case OMPC_firstprivate:
9364 return 1 <= Version && 2147483647 >= Version;
9365 case OMPC_if:
9366 return 1 <= Version && 2147483647 >= Version;
9367 case OMPC_in_reduction:
9368 return 1 <= Version && 2147483647 >= Version;
9369 case OMPC_private:
9370 return 1 <= Version && 2147483647 >= Version;
9371 case OMPC_shared:
9372 return 1 <= Version && 2147483647 >= Version;
9373 case OMPC_default:
9374 return 1 <= Version && 2147483647 >= Version;
9375 case OMPC_detach:
9376 return 50 <= Version && 2147483647 >= Version;
9377 case OMPC_final:
9378 return 1 <= Version && 2147483647 >= Version;
9379 case OMPC_mergeable:
9380 return 1 <= Version && 2147483647 >= Version;
9381 case OMPC_priority:
9382 return 1 <= Version && 2147483647 >= Version;
9383 case OMPC_replayable:
9384 return 60 <= Version && 2147483647 >= Version;
9385 case OMPC_threadset:
9386 return 60 <= Version && 2147483647 >= Version;
9387 case OMPC_transparent:
9388 return 60 <= Version && 2147483647 >= Version;
9389 case OMPC_untied:
9390 return 1 <= Version && 2147483647 >= Version;
9391 default:
9392 return false;
9393 }
9394 break;
9395 case OMPD_taskgroup:
9396 switch (C) {
9397 case OMPC_allocate:
9398 return 50 <= Version && 2147483647 >= Version;
9399 case OMPC_task_reduction:
9400 return 50 <= Version && 2147483647 >= Version;
9401 default:
9402 return false;
9403 }
9404 break;
9405 case OMPD_taskloop:
9406 switch (C) {
9407 case OMPC_allocate:
9408 return 1 <= Version && 2147483647 >= Version;
9409 case OMPC_firstprivate:
9410 return 1 <= Version && 2147483647 >= Version;
9411 case OMPC_in_reduction:
9412 return 1 <= Version && 2147483647 >= Version;
9413 case OMPC_if:
9414 return 1 <= Version && 2147483647 >= Version;
9415 case OMPC_lastprivate:
9416 return 1 <= Version && 2147483647 >= Version;
9417 case OMPC_private:
9418 return 1 <= Version && 2147483647 >= Version;
9419 case OMPC_reduction:
9420 return 1 <= Version && 2147483647 >= Version;
9421 case OMPC_shared:
9422 return 1 <= Version && 2147483647 >= Version;
9423 case OMPC_collapse:
9424 return 1 <= Version && 2147483647 >= Version;
9425 case OMPC_default:
9426 return 1 <= Version && 2147483647 >= Version;
9427 case OMPC_final:
9428 return 1 <= Version && 2147483647 >= Version;
9429 case OMPC_mergeable:
9430 return 1 <= Version && 2147483647 >= Version;
9431 case OMPC_nogroup:
9432 return 1 <= Version && 2147483647 >= Version;
9433 case OMPC_priority:
9434 return 1 <= Version && 2147483647 >= Version;
9435 case OMPC_replayable:
9436 return 60 <= Version && 2147483647 >= Version;
9437 case OMPC_threadset:
9438 return 60 <= Version && 2147483647 >= Version;
9439 case OMPC_transparent:
9440 return 60 <= Version && 2147483647 >= Version;
9441 case OMPC_untied:
9442 return 1 <= Version && 2147483647 >= Version;
9443 case OMPC_grainsize:
9444 return 1 <= Version && 2147483647 >= Version;
9445 case OMPC_num_tasks:
9446 return 1 <= Version && 2147483647 >= Version;
9447 default:
9448 return false;
9449 }
9450 break;
9451 case OMPD_taskloop_simd:
9452 switch (C) {
9453 case OMPC_aligned:
9454 return 1 <= Version && 2147483647 >= Version;
9455 case OMPC_allocate:
9456 return 1 <= Version && 2147483647 >= Version;
9457 case OMPC_firstprivate:
9458 return 1 <= Version && 2147483647 >= Version;
9459 case OMPC_if:
9460 return 1 <= Version && 2147483647 >= Version;
9461 case OMPC_in_reduction:
9462 return 1 <= Version && 2147483647 >= Version;
9463 case OMPC_lastprivate:
9464 return 1 <= Version && 2147483647 >= Version;
9465 case OMPC_linear:
9466 return 1 <= Version && 2147483647 >= Version;
9467 case OMPC_nontemporal:
9468 return 50 <= Version && 2147483647 >= Version;
9469 case OMPC_private:
9470 return 1 <= Version && 2147483647 >= Version;
9471 case OMPC_reduction:
9472 return 1 <= Version && 2147483647 >= Version;
9473 case OMPC_shared:
9474 return 1 <= Version && 2147483647 >= Version;
9475 case OMPC_collapse:
9476 return 1 <= Version && 2147483647 >= Version;
9477 case OMPC_default:
9478 return 1 <= Version && 2147483647 >= Version;
9479 case OMPC_final:
9480 return 1 <= Version && 2147483647 >= Version;
9481 case OMPC_mergeable:
9482 return 1 <= Version && 2147483647 >= Version;
9483 case OMPC_nogroup:
9484 return 1 <= Version && 2147483647 >= Version;
9485 case OMPC_order:
9486 return 50 <= Version && 2147483647 >= Version;
9487 case OMPC_priority:
9488 return 1 <= Version && 2147483647 >= Version;
9489 case OMPC_safelen:
9490 return 1 <= Version && 2147483647 >= Version;
9491 case OMPC_simdlen:
9492 return 1 <= Version && 2147483647 >= Version;
9493 case OMPC_untied:
9494 return 1 <= Version && 2147483647 >= Version;
9495 case OMPC_grainsize:
9496 return 1 <= Version && 2147483647 >= Version;
9497 case OMPC_num_tasks:
9498 return 1 <= Version && 2147483647 >= Version;
9499 default:
9500 return false;
9501 }
9502 break;
9503 case OMPD_taskwait:
9504 switch (C) {
9505 case OMPC_depend:
9506 return 50 <= Version && 2147483647 >= Version;
9507 case OMPC_nowait:
9508 return 51 <= Version && 2147483647 >= Version;
9509 case OMPC_replayable:
9510 return 60 <= Version && 2147483647 >= Version;
9511 default:
9512 return false;
9513 }
9514 break;
9515 case OMPD_taskyield:
9516 return false;
9517 break;
9518 case OMPD_taskgraph:
9519 switch (C) {
9520 case OMPC_if:
9521 return 1 <= Version && 2147483647 >= Version;
9522 case OMPC_graph_id:
9523 return 60 <= Version && 2147483647 >= Version;
9524 case OMPC_graph_reset:
9525 return 60 <= Version && 2147483647 >= Version;
9526 case OMPC_nogroup:
9527 return 1 <= Version && 2147483647 >= Version;
9528 default:
9529 return false;
9530 }
9531 break;
9532 case OMPD_teams:
9533 switch (C) {
9534 case OMPC_allocate:
9535 return 1 <= Version && 2147483647 >= Version;
9536 case OMPC_dyn_groupprivate:
9537 return 61 <= Version && 2147483647 >= Version;
9538 case OMPC_firstprivate:
9539 return 1 <= Version && 2147483647 >= Version;
9540 case OMPC_if:
9541 return 52 <= Version && 2147483647 >= Version;
9542 case OMPC_ompx_attribute:
9543 return 1 <= Version && 2147483647 >= Version;
9544 case OMPC_private:
9545 return 1 <= Version && 2147483647 >= Version;
9546 case OMPC_reduction:
9547 return 1 <= Version && 2147483647 >= Version;
9548 case OMPC_shared:
9549 return 1 <= Version && 2147483647 >= Version;
9550 case OMPC_default:
9551 return 1 <= Version && 2147483647 >= Version;
9552 case OMPC_num_teams:
9553 return 1 <= Version && 2147483647 >= Version;
9554 case OMPC_thread_limit:
9555 return 1 <= Version && 2147483647 >= Version;
9556 default:
9557 return false;
9558 }
9559 break;
9560 case OMPD_teams_distribute:
9561 switch (C) {
9562 case OMPC_allocate:
9563 return 1 <= Version && 2147483647 >= Version;
9564 case OMPC_dyn_groupprivate:
9565 return 61 <= Version && 2147483647 >= Version;
9566 case OMPC_firstprivate:
9567 return 1 <= Version && 2147483647 >= Version;
9568 case OMPC_if:
9569 return 1 <= Version && 2147483647 >= Version;
9570 case OMPC_lastprivate:
9571 return 1 <= Version && 2147483647 >= Version;
9572 case OMPC_ompx_attribute:
9573 return 1 <= Version && 2147483647 >= Version;
9574 case OMPC_private:
9575 return 1 <= Version && 2147483647 >= Version;
9576 case OMPC_reduction:
9577 return 1 <= Version && 2147483647 >= Version;
9578 case OMPC_shared:
9579 return 1 <= Version && 2147483647 >= Version;
9580 case OMPC_collapse:
9581 return 1 <= Version && 2147483647 >= Version;
9582 case OMPC_default:
9583 return 1 <= Version && 2147483647 >= Version;
9584 case OMPC_dist_schedule:
9585 return 1 <= Version && 2147483647 >= Version;
9586 case OMPC_num_teams:
9587 return 1 <= Version && 2147483647 >= Version;
9588 case OMPC_order:
9589 return 50 <= Version && 2147483647 >= Version;
9590 case OMPC_thread_limit:
9591 return 1 <= Version && 2147483647 >= Version;
9592 default:
9593 return false;
9594 }
9595 break;
9596 case OMPD_teams_distribute_parallel_do:
9597 switch (C) {
9598 case OMPC_allocate:
9599 return 1 <= Version && 2147483647 >= Version;
9600 case OMPC_copyin:
9601 return 1 <= Version && 2147483647 >= Version;
9602 case OMPC_dyn_groupprivate:
9603 return 61 <= Version && 2147483647 >= Version;
9604 case OMPC_firstprivate:
9605 return 1 <= Version && 2147483647 >= Version;
9606 case OMPC_if:
9607 return 1 <= Version && 2147483647 >= Version;
9608 case OMPC_lastprivate:
9609 return 1 <= Version && 2147483647 >= Version;
9610 case OMPC_linear:
9611 return 1 <= Version && 2147483647 >= Version;
9612 case OMPC_private:
9613 return 1 <= Version && 2147483647 >= Version;
9614 case OMPC_reduction:
9615 return 1 <= Version && 2147483647 >= Version;
9616 case OMPC_shared:
9617 return 1 <= Version && 2147483647 >= Version;
9618 case OMPC_collapse:
9619 return 1 <= Version && 2147483647 >= Version;
9620 case OMPC_default:
9621 return 1 <= Version && 2147483647 >= Version;
9622 case OMPC_dist_schedule:
9623 return 1 <= Version && 2147483647 >= Version;
9624 case OMPC_message:
9625 return 60 <= Version && 2147483647 >= Version;
9626 case OMPC_num_teams:
9627 return 1 <= Version && 2147483647 >= Version;
9628 case OMPC_num_threads:
9629 return 1 <= Version && 2147483647 >= Version;
9630 case OMPC_order:
9631 return 50 <= Version && 2147483647 >= Version;
9632 case OMPC_proc_bind:
9633 return 1 <= Version && 2147483647 >= Version;
9634 case OMPC_schedule:
9635 return 1 <= Version && 2147483647 >= Version;
9636 case OMPC_severity:
9637 return 60 <= Version && 2147483647 >= Version;
9638 case OMPC_thread_limit:
9639 return 1 <= Version && 2147483647 >= Version;
9640 default:
9641 return false;
9642 }
9643 break;
9644 case OMPD_teams_distribute_parallel_do_simd:
9645 switch (C) {
9646 case OMPC_aligned:
9647 return 1 <= Version && 2147483647 >= Version;
9648 case OMPC_allocate:
9649 return 1 <= Version && 2147483647 >= Version;
9650 case OMPC_dyn_groupprivate:
9651 return 61 <= Version && 2147483647 >= Version;
9652 case OMPC_firstprivate:
9653 return 1 <= Version && 2147483647 >= Version;
9654 case OMPC_if:
9655 return 1 <= Version && 2147483647 >= Version;
9656 case OMPC_lastprivate:
9657 return 1 <= Version && 2147483647 >= Version;
9658 case OMPC_linear:
9659 return 1 <= Version && 2147483647 >= Version;
9660 case OMPC_nontemporal:
9661 return 1 <= Version && 2147483647 >= Version;
9662 case OMPC_private:
9663 return 1 <= Version && 2147483647 >= Version;
9664 case OMPC_reduction:
9665 return 1 <= Version && 2147483647 >= Version;
9666 case OMPC_shared:
9667 return 1 <= Version && 2147483647 >= Version;
9668 case OMPC_collapse:
9669 return 1 <= Version && 2147483647 >= Version;
9670 case OMPC_default:
9671 return 1 <= Version && 2147483647 >= Version;
9672 case OMPC_dist_schedule:
9673 return 1 <= Version && 2147483647 >= Version;
9674 case OMPC_message:
9675 return 60 <= Version && 2147483647 >= Version;
9676 case OMPC_num_teams:
9677 return 1 <= Version && 2147483647 >= Version;
9678 case OMPC_num_threads:
9679 return 1 <= Version && 2147483647 >= Version;
9680 case OMPC_order:
9681 return 50 <= Version && 2147483647 >= Version;
9682 case OMPC_proc_bind:
9683 return 1 <= Version && 2147483647 >= Version;
9684 case OMPC_safelen:
9685 return 1 <= Version && 2147483647 >= Version;
9686 case OMPC_schedule:
9687 return 1 <= Version && 2147483647 >= Version;
9688 case OMPC_severity:
9689 return 60 <= Version && 2147483647 >= Version;
9690 case OMPC_simdlen:
9691 return 1 <= Version && 2147483647 >= Version;
9692 case OMPC_thread_limit:
9693 return 1 <= Version && 2147483647 >= Version;
9694 default:
9695 return false;
9696 }
9697 break;
9698 case OMPD_teams_distribute_parallel_for:
9699 switch (C) {
9700 case OMPC_allocate:
9701 return 1 <= Version && 2147483647 >= Version;
9702 case OMPC_copyin:
9703 return 1 <= Version && 2147483647 >= Version;
9704 case OMPC_dyn_groupprivate:
9705 return 61 <= Version && 2147483647 >= Version;
9706 case OMPC_firstprivate:
9707 return 1 <= Version && 2147483647 >= Version;
9708 case OMPC_if:
9709 return 1 <= Version && 2147483647 >= Version;
9710 case OMPC_lastprivate:
9711 return 1 <= Version && 2147483647 >= Version;
9712 case OMPC_ompx_attribute:
9713 return 1 <= Version && 2147483647 >= Version;
9714 case OMPC_private:
9715 return 1 <= Version && 2147483647 >= Version;
9716 case OMPC_reduction:
9717 return 1 <= Version && 2147483647 >= Version;
9718 case OMPC_shared:
9719 return 1 <= Version && 2147483647 >= Version;
9720 case OMPC_collapse:
9721 return 1 <= Version && 2147483647 >= Version;
9722 case OMPC_default:
9723 return 1 <= Version && 2147483647 >= Version;
9724 case OMPC_dist_schedule:
9725 return 1 <= Version && 2147483647 >= Version;
9726 case OMPC_message:
9727 return 60 <= Version && 2147483647 >= Version;
9728 case OMPC_num_teams:
9729 return 1 <= Version && 2147483647 >= Version;
9730 case OMPC_num_threads:
9731 return 1 <= Version && 2147483647 >= Version;
9732 case OMPC_order:
9733 return 50 <= Version && 2147483647 >= Version;
9734 case OMPC_proc_bind:
9735 return 1 <= Version && 2147483647 >= Version;
9736 case OMPC_schedule:
9737 return 1 <= Version && 2147483647 >= Version;
9738 case OMPC_severity:
9739 return 60 <= Version && 2147483647 >= Version;
9740 case OMPC_thread_limit:
9741 return 1 <= Version && 2147483647 >= Version;
9742 default:
9743 return false;
9744 }
9745 break;
9746 case OMPD_teams_distribute_parallel_for_simd:
9747 switch (C) {
9748 case OMPC_aligned:
9749 return 1 <= Version && 2147483647 >= Version;
9750 case OMPC_allocate:
9751 return 1 <= Version && 2147483647 >= Version;
9752 case OMPC_dyn_groupprivate:
9753 return 61 <= Version && 2147483647 >= Version;
9754 case OMPC_firstprivate:
9755 return 1 <= Version && 2147483647 >= Version;
9756 case OMPC_lastprivate:
9757 return 1 <= Version && 2147483647 >= Version;
9758 case OMPC_if:
9759 return 1 <= Version && 2147483647 >= Version;
9760 case OMPC_linear:
9761 return 1 <= Version && 2147483647 >= Version;
9762 case OMPC_nontemporal:
9763 return 50 <= Version && 2147483647 >= Version;
9764 case OMPC_ompx_attribute:
9765 return 1 <= Version && 2147483647 >= Version;
9766 case OMPC_private:
9767 return 1 <= Version && 2147483647 >= Version;
9768 case OMPC_reduction:
9769 return 1 <= Version && 2147483647 >= Version;
9770 case OMPC_shared:
9771 return 1 <= Version && 2147483647 >= Version;
9772 case OMPC_collapse:
9773 return 1 <= Version && 2147483647 >= Version;
9774 case OMPC_default:
9775 return 1 <= Version && 2147483647 >= Version;
9776 case OMPC_dist_schedule:
9777 return 1 <= Version && 2147483647 >= Version;
9778 case OMPC_message:
9779 return 60 <= Version && 2147483647 >= Version;
9780 case OMPC_num_teams:
9781 return 1 <= Version && 2147483647 >= Version;
9782 case OMPC_num_threads:
9783 return 1 <= Version && 2147483647 >= Version;
9784 case OMPC_order:
9785 return 50 <= Version && 2147483647 >= Version;
9786 case OMPC_proc_bind:
9787 return 1 <= Version && 2147483647 >= Version;
9788 case OMPC_safelen:
9789 return 1 <= Version && 2147483647 >= Version;
9790 case OMPC_schedule:
9791 return 1 <= Version && 2147483647 >= Version;
9792 case OMPC_severity:
9793 return 60 <= Version && 2147483647 >= Version;
9794 case OMPC_simdlen:
9795 return 1 <= Version && 2147483647 >= Version;
9796 case OMPC_thread_limit:
9797 return 1 <= Version && 2147483647 >= Version;
9798 default:
9799 return false;
9800 }
9801 break;
9802 case OMPD_teams_distribute_simd:
9803 switch (C) {
9804 case OMPC_aligned:
9805 return 1 <= Version && 2147483647 >= Version;
9806 case OMPC_allocate:
9807 return 1 <= Version && 2147483647 >= Version;
9808 case OMPC_dyn_groupprivate:
9809 return 61 <= Version && 2147483647 >= Version;
9810 case OMPC_firstprivate:
9811 return 1 <= Version && 2147483647 >= Version;
9812 case OMPC_if:
9813 return 50 <= Version && 2147483647 >= Version;
9814 case OMPC_lastprivate:
9815 return 1 <= Version && 2147483647 >= Version;
9816 case OMPC_linear:
9817 return 1 <= Version && 2147483647 >= Version;
9818 case OMPC_nontemporal:
9819 return 50 <= Version && 2147483647 >= Version;
9820 case OMPC_ompx_attribute:
9821 return 1 <= Version && 2147483647 >= Version;
9822 case OMPC_private:
9823 return 1 <= Version && 2147483647 >= Version;
9824 case OMPC_reduction:
9825 return 1 <= Version && 2147483647 >= Version;
9826 case OMPC_shared:
9827 return 1 <= Version && 2147483647 >= Version;
9828 case OMPC_collapse:
9829 return 1 <= Version && 2147483647 >= Version;
9830 case OMPC_default:
9831 return 1 <= Version && 2147483647 >= Version;
9832 case OMPC_dist_schedule:
9833 return 1 <= Version && 2147483647 >= Version;
9834 case OMPC_num_teams:
9835 return 1 <= Version && 2147483647 >= Version;
9836 case OMPC_order:
9837 return 50 <= Version && 2147483647 >= Version;
9838 case OMPC_safelen:
9839 return 1 <= Version && 2147483647 >= Version;
9840 case OMPC_simdlen:
9841 return 1 <= Version && 2147483647 >= Version;
9842 case OMPC_thread_limit:
9843 return 1 <= Version && 2147483647 >= Version;
9844 default:
9845 return false;
9846 }
9847 break;
9848 case OMPD_teams_workdistribute:
9849 switch (C) {
9850 case OMPC_allocate:
9851 return 1 <= Version && 2147483647 >= Version;
9852 case OMPC_firstprivate:
9853 return 1 <= Version && 2147483647 >= Version;
9854 case OMPC_if:
9855 return 52 <= Version && 2147483647 >= Version;
9856 case OMPC_ompx_attribute:
9857 return 1 <= Version && 2147483647 >= Version;
9858 case OMPC_private:
9859 return 1 <= Version && 2147483647 >= Version;
9860 case OMPC_reduction:
9861 return 1 <= Version && 2147483647 >= Version;
9862 case OMPC_shared:
9863 return 1 <= Version && 2147483647 >= Version;
9864 case OMPC_default:
9865 return 1 <= Version && 2147483647 >= Version;
9866 case OMPC_num_teams:
9867 return 1 <= Version && 2147483647 >= Version;
9868 case OMPC_thread_limit:
9869 return 1 <= Version && 2147483647 >= Version;
9870 default:
9871 return false;
9872 }
9873 break;
9874 case OMPD_threadprivate:
9875 return false;
9876 break;
9877 case OMPD_tile:
9878 switch (C) {
9879 case OMPC_sizes:
9880 return 51 <= Version && 2147483647 >= Version;
9881 default:
9882 return false;
9883 }
9884 break;
9885 case OMPD_unknown:
9886 return false;
9887 break;
9888 case OMPD_unroll:
9889 switch (C) {
9890 case OMPC_full:
9891 return 51 <= Version && 2147483647 >= Version;
9892 case OMPC_partial:
9893 return 51 <= Version && 2147483647 >= Version;
9894 default:
9895 return false;
9896 }
9897 break;
9898 case OMPD_workdistribute:
9899 return false;
9900 break;
9901 case OMPD_workshare:
9902 switch (C) {
9903 case OMPC_nowait:
9904 return 1 <= Version && 2147483647 >= Version;
9905 default:
9906 return false;
9907 }
9908 break;
9909 case OMPD_dispatch:
9910 switch (C) {
9911 case OMPC_depend:
9912 return 1 <= Version && 2147483647 >= Version;
9913 case OMPC_has_device_addr:
9914 return 51 <= Version && 2147483647 >= Version;
9915 case OMPC_is_device_ptr:
9916 return 1 <= Version && 2147483647 >= Version;
9917 case OMPC_device:
9918 return 1 <= Version && 2147483647 >= Version;
9919 case OMPC_nocontext:
9920 return 1 <= Version && 2147483647 >= Version;
9921 case OMPC_novariants:
9922 return 1 <= Version && 2147483647 >= Version;
9923 case OMPC_nowait:
9924 return 1 <= Version && 2147483647 >= Version;
9925 default:
9926 return false;
9927 }
9928 break;
9929 case OMPD_interop:
9930 switch (C) {
9931 case OMPC_depend:
9932 return 1 <= Version && 2147483647 >= Version;
9933 case OMPC_destroy:
9934 return 1 <= Version && 2147483647 >= Version;
9935 case OMPC_init:
9936 return 1 <= Version && 2147483647 >= Version;
9937 case OMPC_use:
9938 return 1 <= Version && 2147483647 >= Version;
9939 case OMPC_device:
9940 return 1 <= Version && 2147483647 >= Version;
9941 case OMPC_nowait:
9942 return 1 <= Version && 2147483647 >= Version;
9943 default:
9944 return false;
9945 }
9946 break;
9947 case OMPD_loop:
9948 switch (C) {
9949 case OMPC_lastprivate:
9950 return 1 <= Version && 2147483647 >= Version;
9951 case OMPC_private:
9952 return 1 <= Version && 2147483647 >= Version;
9953 case OMPC_reduction:
9954 return 1 <= Version && 2147483647 >= Version;
9955 case OMPC_bind:
9956 return 50 <= Version && 2147483647 >= Version;
9957 case OMPC_collapse:
9958 return 1 <= Version && 2147483647 >= Version;
9959 case OMPC_order:
9960 return 50 <= Version && 2147483647 >= Version;
9961 default:
9962 return false;
9963 }
9964 break;
9965 case OMPD_masked:
9966 switch (C) {
9967 case OMPC_filter:
9968 return 1 <= Version && 2147483647 >= Version;
9969 default:
9970 return false;
9971 }
9972 break;
9973 case OMPD_parallel_loop:
9974 switch (C) {
9975 case OMPC_allocate:
9976 return 1 <= Version && 2147483647 >= Version;
9977 case OMPC_copyin:
9978 return 1 <= Version && 2147483647 >= Version;
9979 case OMPC_firstprivate:
9980 return 1 <= Version && 2147483647 >= Version;
9981 case OMPC_if:
9982 return 1 <= Version && 2147483647 >= Version;
9983 case OMPC_lastprivate:
9984 return 1 <= Version && 2147483647 >= Version;
9985 case OMPC_ompx_attribute:
9986 return 1 <= Version && 2147483647 >= Version;
9987 case OMPC_private:
9988 return 1 <= Version && 2147483647 >= Version;
9989 case OMPC_reduction:
9990 return 1 <= Version && 2147483647 >= Version;
9991 case OMPC_shared:
9992 return 1 <= Version && 2147483647 >= Version;
9993 case OMPC_bind:
9994 return 50 <= Version && 2147483647 >= Version;
9995 case OMPC_collapse:
9996 return 1 <= Version && 2147483647 >= Version;
9997 case OMPC_default:
9998 return 1 <= Version && 2147483647 >= Version;
9999 case OMPC_message:
10000 return 60 <= Version && 2147483647 >= Version;
10001 case OMPC_num_threads:
10002 return 1 <= Version && 2147483647 >= Version;
10003 case OMPC_order:
10004 return 1 <= Version && 2147483647 >= Version;
10005 case OMPC_proc_bind:
10006 return 1 <= Version && 2147483647 >= Version;
10007 case OMPC_severity:
10008 return 60 <= Version && 2147483647 >= Version;
10009 default:
10010 return false;
10011 }
10012 break;
10013 case OMPD_target_loop:
10014 switch (C) {
10015 case OMPC_allocate:
10016 return 1 <= Version && 2147483647 >= Version;
10017 case OMPC_depend:
10018 return 1 <= Version && 2147483647 >= Version;
10019 case OMPC_dyn_groupprivate:
10020 return 61 <= Version && 2147483647 >= Version;
10021 case OMPC_firstprivate:
10022 return 1 <= Version && 2147483647 >= Version;
10023 case OMPC_if:
10024 return 1 <= Version && 2147483647 >= Version;
10025 case OMPC_is_device_ptr:
10026 return 1 <= Version && 2147483647 >= Version;
10027 case OMPC_has_device_addr:
10028 return 51 <= Version && 2147483647 >= Version;
10029 case OMPC_lastprivate:
10030 return 1 <= Version && 2147483647 >= Version;
10031 case OMPC_map:
10032 return 1 <= Version && 2147483647 >= Version;
10033 case OMPC_private:
10034 return 1 <= Version && 2147483647 >= Version;
10035 case OMPC_reduction:
10036 return 1 <= Version && 2147483647 >= Version;
10037 case OMPC_uses_allocators:
10038 return 50 <= Version && 2147483647 >= Version;
10039 case OMPC_ompx_attribute:
10040 return 1 <= Version && 2147483647 >= Version;
10041 case OMPC_in_reduction:
10042 return 50 <= Version && 2147483647 >= Version;
10043 case OMPC_bind:
10044 return 50 <= Version && 2147483647 >= Version;
10045 case OMPC_collapse:
10046 return 1 <= Version && 2147483647 >= Version;
10047 case OMPC_defaultmap:
10048 return 1 <= Version && 2147483647 >= Version;
10049 case OMPC_device:
10050 return 1 <= Version && 2147483647 >= Version;
10051 case OMPC_nowait:
10052 return 1 <= Version && 2147483647 >= Version;
10053 case OMPC_ompx_dyn_cgroup_mem:
10054 return 1 <= Version && 2147483647 >= Version;
10055 case OMPC_order:
10056 return 1 <= Version && 2147483647 >= Version;
10057 case OMPC_thread_limit:
10058 return 1 <= Version && 2147483647 >= Version;
10059 default:
10060 return false;
10061 }
10062 break;
10063 case OMPD_target_parallel_loop:
10064 switch (C) {
10065 case OMPC_allocate:
10066 return 1 <= Version && 2147483647 >= Version;
10067 case OMPC_depend:
10068 return 1 <= Version && 2147483647 >= Version;
10069 case OMPC_dyn_groupprivate:
10070 return 61 <= Version && 2147483647 >= Version;
10071 case OMPC_firstprivate:
10072 return 1 <= Version && 2147483647 >= Version;
10073 case OMPC_has_device_addr:
10074 return 51 <= Version && 2147483647 >= Version;
10075 case OMPC_if:
10076 return 1 <= Version && 2147483647 >= Version;
10077 case OMPC_is_device_ptr:
10078 return 1 <= Version && 2147483647 >= Version;
10079 case OMPC_lastprivate:
10080 return 1 <= Version && 2147483647 >= Version;
10081 case OMPC_map:
10082 return 1 <= Version && 2147483647 >= Version;
10083 case OMPC_ompx_attribute:
10084 return 1 <= Version && 2147483647 >= Version;
10085 case OMPC_private:
10086 return 1 <= Version && 2147483647 >= Version;
10087 case OMPC_reduction:
10088 return 1 <= Version && 2147483647 >= Version;
10089 case OMPC_shared:
10090 return 1 <= Version && 2147483647 >= Version;
10091 case OMPC_uses_allocators:
10092 return 50 <= Version && 2147483647 >= Version;
10093 case OMPC_bind:
10094 return 50 <= Version && 2147483647 >= Version;
10095 case OMPC_collapse:
10096 return 1 <= Version && 2147483647 >= Version;
10097 case OMPC_default:
10098 return 1 <= Version && 2147483647 >= Version;
10099 case OMPC_defaultmap:
10100 return 1 <= Version && 2147483647 >= Version;
10101 case OMPC_device:
10102 return 1 <= Version && 2147483647 >= Version;
10103 case OMPC_message:
10104 return 60 <= Version && 2147483647 >= Version;
10105 case OMPC_nowait:
10106 return 1 <= Version && 2147483647 >= Version;
10107 case OMPC_num_threads:
10108 return 1 <= Version && 2147483647 >= Version;
10109 case OMPC_ompx_dyn_cgroup_mem:
10110 return 1 <= Version && 2147483647 >= Version;
10111 case OMPC_order:
10112 return 1 <= Version && 2147483647 >= Version;
10113 case OMPC_proc_bind:
10114 return 1 <= Version && 2147483647 >= Version;
10115 case OMPC_severity:
10116 return 60 <= Version && 2147483647 >= Version;
10117 case OMPC_thread_limit:
10118 return 51 <= Version && 2147483647 >= Version;
10119 default:
10120 return false;
10121 }
10122 break;
10123 case OMPD_target_teams_loop:
10124 switch (C) {
10125 case OMPC_allocate:
10126 return 1 <= Version && 2147483647 >= Version;
10127 case OMPC_depend:
10128 return 1 <= Version && 2147483647 >= Version;
10129 case OMPC_dyn_groupprivate:
10130 return 61 <= Version && 2147483647 >= Version;
10131 case OMPC_firstprivate:
10132 return 1 <= Version && 2147483647 >= Version;
10133 case OMPC_has_device_addr:
10134 return 51 <= Version && 2147483647 >= Version;
10135 case OMPC_if:
10136 return 1 <= Version && 2147483647 >= Version;
10137 case OMPC_is_device_ptr:
10138 return 1 <= Version && 2147483647 >= Version;
10139 case OMPC_lastprivate:
10140 return 1 <= Version && 2147483647 >= Version;
10141 case OMPC_map:
10142 return 1 <= Version && 2147483647 >= Version;
10143 case OMPC_ompx_attribute:
10144 return 1 <= Version && 2147483647 >= Version;
10145 case OMPC_private:
10146 return 1 <= Version && 2147483647 >= Version;
10147 case OMPC_reduction:
10148 return 1 <= Version && 2147483647 >= Version;
10149 case OMPC_shared:
10150 return 1 <= Version && 2147483647 >= Version;
10151 case OMPC_uses_allocators:
10152 return 50 <= Version && 2147483647 >= Version;
10153 case OMPC_bind:
10154 return 50 <= Version && 2147483647 >= Version;
10155 case OMPC_collapse:
10156 return 1 <= Version && 2147483647 >= Version;
10157 case OMPC_default:
10158 return 1 <= Version && 2147483647 >= Version;
10159 case OMPC_defaultmap:
10160 return 1 <= Version && 2147483647 >= Version;
10161 case OMPC_device:
10162 return 1 <= Version && 2147483647 >= Version;
10163 case OMPC_nowait:
10164 return 1 <= Version && 2147483647 >= Version;
10165 case OMPC_num_teams:
10166 return 1 <= Version && 2147483647 >= Version;
10167 case OMPC_ompx_dyn_cgroup_mem:
10168 return 1 <= Version && 2147483647 >= Version;
10169 case OMPC_order:
10170 return 1 <= Version && 2147483647 >= Version;
10171 case OMPC_thread_limit:
10172 return 1 <= Version && 2147483647 >= Version;
10173 default:
10174 return false;
10175 }
10176 break;
10177 case OMPD_teams_loop:
10178 switch (C) {
10179 case OMPC_allocate:
10180 return 1 <= Version && 2147483647 >= Version;
10181 case OMPC_dyn_groupprivate:
10182 return 61 <= Version && 2147483647 >= Version;
10183 case OMPC_firstprivate:
10184 return 1 <= Version && 2147483647 >= Version;
10185 case OMPC_if:
10186 return 52 <= Version && 2147483647 >= Version;
10187 case OMPC_lastprivate:
10188 return 1 <= Version && 2147483647 >= Version;
10189 case OMPC_ompx_attribute:
10190 return 1 <= Version && 2147483647 >= Version;
10191 case OMPC_private:
10192 return 1 <= Version && 2147483647 >= Version;
10193 case OMPC_reduction:
10194 return 1 <= Version && 2147483647 >= Version;
10195 case OMPC_shared:
10196 return 1 <= Version && 2147483647 >= Version;
10197 case OMPC_bind:
10198 return 50 <= Version && 2147483647 >= Version;
10199 case OMPC_collapse:
10200 return 1 <= Version && 2147483647 >= Version;
10201 case OMPC_default:
10202 return 1 <= Version && 2147483647 >= Version;
10203 case OMPC_num_teams:
10204 return 1 <= Version && 2147483647 >= Version;
10205 case OMPC_order:
10206 return 1 <= Version && 2147483647 >= Version;
10207 case OMPC_thread_limit:
10208 return 1 <= Version && 2147483647 >= Version;
10209 default:
10210 return false;
10211 }
10212 break;
10213 }
10214 llvm_unreachable("Invalid OpenMP Directive kind");
10215}
10216
10217static_assert(sizeof(llvm::omp::Directive) == sizeof(int));
10218[[maybe_unused]] static const llvm::omp::Directive LeafConstructTable[][8] = {
10219 {llvm::omp::OMPD_allocate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10220 {llvm::omp::OMPD_allocators, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10221 {llvm::omp::OMPD_assume, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10222 {llvm::omp::OMPD_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10223 {llvm::omp::OMPD_atomic, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10224 {llvm::omp::OMPD_barrier, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10225 {llvm::omp::OMPD_begin_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10226 {llvm::omp::OMPD_begin_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10227 {llvm::omp::OMPD_begin_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10228 {llvm::omp::OMPD_cancel, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10229 {llvm::omp::OMPD_cancellation_point, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10230 {llvm::omp::OMPD_critical, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10231 {llvm::omp::OMPD_declare_induction, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10232 {llvm::omp::OMPD_declare_mapper, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10233 {llvm::omp::OMPD_declare_reduction, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10234 {llvm::omp::OMPD_declare_simd, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10235 {llvm::omp::OMPD_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10236 {llvm::omp::OMPD_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10237 {llvm::omp::OMPD_depobj, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10238 {llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10239 {llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10240 {llvm::omp::OMPD_error, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10241 {llvm::omp::OMPD_flatten, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10242 {llvm::omp::OMPD_flush, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10243 {llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10244 {llvm::omp::OMPD_fuse, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10245 {llvm::omp::OMPD_groupprivate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10246 {llvm::omp::OMPD_interchange, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10247 {llvm::omp::OMPD_master, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10248 {llvm::omp::OMPD_metadirective, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10249 {llvm::omp::OMPD_nothing, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10250 {llvm::omp::OMPD_ordered, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10251 {llvm::omp::OMPD_parallel, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10252 {llvm::omp::OMPD_requires, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10253 {llvm::omp::OMPD_reverse, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10254 {llvm::omp::OMPD_scan, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10255 {llvm::omp::OMPD_scope, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10256 {llvm::omp::OMPD_section, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10257 {llvm::omp::OMPD_sections, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10258 {llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10259 {llvm::omp::OMPD_single, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10260 {llvm::omp::OMPD_split, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10261 {llvm::omp::OMPD_stripe, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10262 {llvm::omp::OMPD_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10263 {llvm::omp::OMPD_target_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10264 {llvm::omp::OMPD_target_enter_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10265 {llvm::omp::OMPD_target_exit_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10266 {llvm::omp::OMPD_target_update, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10267 {llvm::omp::OMPD_task, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10268 {llvm::omp::OMPD_taskgroup, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10269 {llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10270 {llvm::omp::OMPD_taskwait, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10271 {llvm::omp::OMPD_taskyield, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10272 {llvm::omp::OMPD_taskgraph, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10273 {llvm::omp::OMPD_teams, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10274 {llvm::omp::OMPD_threadprivate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10275 {llvm::omp::OMPD_tile, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10276 {llvm::omp::OMPD_unknown, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10277 {llvm::omp::OMPD_unroll, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10278 {llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10279 {llvm::omp::OMPD_workshare, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10280 {llvm::omp::OMPD_dispatch, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10281 {llvm::omp::OMPD_interop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10282 {llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10283 {llvm::omp::OMPD_masked, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10284 {llvm::omp::OMPD_distribute_parallel_do, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10285 {llvm::omp::OMPD_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10286 {llvm::omp::OMPD_distribute_parallel_for, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10287 {llvm::omp::OMPD_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10288 {llvm::omp::OMPD_distribute_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10289 {llvm::omp::OMPD_do_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10290 {llvm::omp::OMPD_for_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10291 {llvm::omp::OMPD_master_taskloop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10292 {llvm::omp::OMPD_master_taskloop_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10293 {llvm::omp::OMPD_parallel_do, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10294 {llvm::omp::OMPD_parallel_do_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10295 {llvm::omp::OMPD_parallel_for, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10296 {llvm::omp::OMPD_parallel_for_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10297 {llvm::omp::OMPD_parallel_master, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10298 {llvm::omp::OMPD_parallel_master_taskloop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10299 {llvm::omp::OMPD_parallel_master_taskloop_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10300 {llvm::omp::OMPD_parallel_sections, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_sections, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10301 {llvm::omp::OMPD_parallel_workshare, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_workshare, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10302 {llvm::omp::OMPD_parallel_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10303 {llvm::omp::OMPD_parallel_masked, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10304 {llvm::omp::OMPD_parallel_masked_taskloop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10305 {llvm::omp::OMPD_parallel_masked_taskloop_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10306 {llvm::omp::OMPD_target_parallel, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10307 {llvm::omp::OMPD_target_parallel_do, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10308 {llvm::omp::OMPD_target_parallel_do_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10309 {llvm::omp::OMPD_target_parallel_for, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10310 {llvm::omp::OMPD_target_parallel_for_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10311 {llvm::omp::OMPD_target_parallel_loop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10312 {llvm::omp::OMPD_target_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10313 {llvm::omp::OMPD_target_teams, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10314 {llvm::omp::OMPD_target_teams_distribute, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10315 {llvm::omp::OMPD_target_teams_distribute_parallel_do, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1),},
10316 {llvm::omp::OMPD_target_teams_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(6), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd,},
10317 {llvm::omp::OMPD_target_teams_distribute_parallel_for, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1),},
10318 {llvm::omp::OMPD_target_teams_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(6), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd,},
10319 {llvm::omp::OMPD_target_teams_distribute_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10320 {llvm::omp::OMPD_target_teams_workdistribute, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10321 {llvm::omp::OMPD_target_teams_loop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10322 {llvm::omp::OMPD_target_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10323 {llvm::omp::OMPD_taskloop_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10324 {llvm::omp::OMPD_teams_distribute, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10325 {llvm::omp::OMPD_teams_distribute_parallel_do, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10326 {llvm::omp::OMPD_teams_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1),},
10327 {llvm::omp::OMPD_teams_distribute_parallel_for, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10328 {llvm::omp::OMPD_teams_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1),},
10329 {llvm::omp::OMPD_teams_distribute_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10330 {llvm::omp::OMPD_teams_workdistribute, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10331 {llvm::omp::OMPD_teams_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10332 {llvm::omp::OMPD_masked_taskloop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10333 {llvm::omp::OMPD_masked_taskloop_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10334 {llvm::omp::OMPD_end_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10335 {llvm::omp::OMPD_end_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10336 {llvm::omp::OMPD_end_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10337};
10338
10339[[maybe_unused]] static auto LeafConstructTableEndDirective = LeafConstructTable + 115;
10340
10341[[maybe_unused]] static const int LeafConstructTableOrdering[] = {
10342 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 65, 66, 67, 68, 69, 20, 70, 115, 116, 117, 21, 22, 23, 24, 71, 25, 26, 27, 113, 114, 28, 72, 73, 29, 30, 31, 32, 74, 75, 76, 77, 84, 85, 86, 78, 79, 80, 81, 82, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 87, 88, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 47, 48, 49, 50, 104, 51, 52, 53, 54, 105, 106, 107, 108, 109, 110, 111, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 83, 103, 92, 102, 112,
10343};
10344
10345#endif // GEN_DIRECTIVES_IMPL
10346
10347