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