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