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