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