LLVM 24.0.0git
OMPDescriptors.inc
Go to the documentation of this file.
1//===-- OMPDescriptors.inc - OpenMP descriptors ------------------- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// clang-format off
10#ifdef GEN_OMP_CLAUSE_DESCRIPTORS
11 {
12 Clause::OMPC_absent,
13 descriptor::Clause(
14 "absent",
15 {
16 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "absent", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
17 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "absent", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
18 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "absent", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
19 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "absent", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
20 }
21 ),
22 },
23 {
24 Clause::OMPC_acq_rel,
25 descriptor::Clause(
26 "acq_rel",
27 {
28 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
29 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
30 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
31 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
32 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
33 }
34 ),
35 },
36 {
37 Clause::OMPC_acquire,
38 descriptor::Clause(
39 "acquire",
40 {
41 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
42 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
43 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
44 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
45 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
46 }
47 ),
48 },
49 {
50 Clause::OMPC_adjust_args,
51 descriptor::Clause(
52 "adjust_args",
53 {
54 {Version(51), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AdjustOp}, {}}},
55 {Version(52), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AdjustOp}, {}}},
56 {Version(60), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AdjustOp, Modifier::DirectiveNameModifier}, {}}},
57 {Version(61), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {ModifierSet::AdjustOp}}},
58 }
59 ),
60 },
61 {
62 Clause::OMPC_affinity,
63 descriptor::Clause(
64 "affinity",
65 {
66 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
67 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
68 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
69 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited}}, "affinity", {Directive::OMPD_target_data, Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator}, {}}},
70 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited}}, "affinity", {Directive::OMPD_target_data, Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator}, {}}},
71 }
72 ),
73 },
74 {
75 Clause::OMPC_align,
76 descriptor::Clause(
77 "align",
78 {
79 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
80 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
81 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
82 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
83 }
84 ),
85 },
86 {
87 Clause::OMPC_aligned,
88 descriptor::Clause(
89 "aligned",
90 {
91 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment}, {}}},
92 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment}, {}}},
93 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment}, {}}},
94 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment}, {}}},
95 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment, Modifier::DirectiveNameModifier}, {}}},
96 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "aligned", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Alignment, Modifier::DirectiveNameModifier}, {}}},
97 }
98 ),
99 },
100 {
101 Clause::OMPC_allocate,
102 descriptor::Clause(
103 "allocate",
104 {
105 {Version(50), {{{Property::AllPrivatizing, Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "allocate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskgroup, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AllocatorSimpleModifier}, {}}},
106 {Version(51), {{{Property::AllPrivatizing, Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "allocate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskgroup, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AlignModifier, Modifier::AllocatorSimpleModifier}, {}}},
107 {Version(52), {{{Property::AllPrivatizing, Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "allocate", {Directive::OMPD_allocators, Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskgroup, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AlignModifier, Modifier::AllocatorComplexModifier, Modifier::AllocatorSimpleModifier}, {}}},
108 {Version(60), {{{Property::AllPrivatizing, Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "allocate", {Directive::OMPD_allocators, Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskgroup, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AlignModifier, Modifier::AllocatorComplexModifier, Modifier::AllocatorSimpleModifier, Modifier::DirectiveNameModifier}, {}}},
109 {Version(61), {{{Property::AllPrivatizing, Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "allocate", {Directive::OMPD_allocators, Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskgroup, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AlignModifier, Modifier::AllocatorComplexModifier, Modifier::AllocatorSimpleModifier, Modifier::DirectiveNameModifier}, {}}},
110 }
111 ),
112 },
113 {
114 Clause::OMPC_allocator,
115 descriptor::Clause(
116 "allocator",
117 {
118 {Version(50), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
119 {Version(51), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
120 {Version(52), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
121 {Version(60), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
122 {Version(61), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
123 }
124 ),
125 },
126 {
127 Clause::OMPC_append_args,
128 descriptor::Clause(
129 "append_args",
130 {
131 {Version(51), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
132 {Version(52), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
133 {Version(60), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
134 {Version(61), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
135 }
136 ),
137 },
138 {
139 Clause::OMPC_apply,
140 descriptor::Clause(
141 "apply",
142 {
143 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "apply", {Directive::OMPD_fuse, Directive::OMPD_interchange, Directive::OMPD_nothing, Directive::OMPD_reverse, Directive::OMPD_split, Directive::OMPD_stripe, Directive::OMPD_tile, Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LoopModifier}, {}}},
144 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "apply", {Directive::OMPD_flatten, Directive::OMPD_fuse, Directive::OMPD_interchange, Directive::OMPD_nothing, Directive::OMPD_reverse, Directive::OMPD_split, Directive::OMPD_stripe, Directive::OMPD_tile, Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LoopModifier}, {}}},
145 }
146 ),
147 },
148 {
149 Clause::OMPC_at,
150 descriptor::Clause(
151 "at",
152 {
153 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
154 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
155 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
156 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
157 }
158 ),
159 },
160 {
161 Clause::OMPC_atomic_default_mem_order,
162 descriptor::Clause(
163 "atomic_default_mem_order",
164 {
165 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
166 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
167 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
168 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
169 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
170 }
171 ),
172 },
173 {
174 Clause::OMPC_bind,
175 descriptor::Clause(
176 "bind",
177 {
178 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
179 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
180 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
181 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
182 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
183 }
184 ),
185 },
186 {
187 Clause::OMPC_cancellation_construct_type,
188 descriptor::Clause(
189 "cancellation_construct_type",
190 {
191 {Version(45), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
192 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
193 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
194 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
195 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
196 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
197 }
198 ),
199 },
200 {
201 Clause::OMPC_capture,
202 descriptor::Clause(
203 "capture",
204 {
205 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
206 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
207 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
208 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
209 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
210 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
211 }
212 ),
213 },
214 {
215 Clause::OMPC_collapse,
216 descriptor::Clause(
217 "collapse",
218 {
219 {Version(45), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
220 {Version(50), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
221 {Version(51), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
222 {Version(52), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
223 {Version(60), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
224 {Version(61), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "collapse", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
225 }
226 ),
227 },
228 {
229 Clause::OMPC_collector,
230 descriptor::Clause(
231 "collector",
232 {
233 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
234 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
235 }
236 ),
237 },
238 {
239 Clause::OMPC_combiner,
240 descriptor::Clause(
241 "combiner",
242 {
243 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
244 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
245 }
246 ),
247 },
248 {
249 Clause::OMPC_compare,
250 descriptor::Clause(
251 "compare",
252 {
253 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
254 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
255 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
256 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
257 }
258 ),
259 },
260 {
261 Clause::OMPC_contains,
262 descriptor::Clause(
263 "contains",
264 {
265 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "contains", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
266 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "contains", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
267 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "contains", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
268 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "contains", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
269 }
270 ),
271 },
272 {
273 Clause::OMPC_copyin,
274 descriptor::Clause(
275 "copyin",
276 {
277 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
278 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
279 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
280 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
281 {Version(60), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
282 {Version(61), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
283 }
284 ),
285 },
286 {
287 Clause::OMPC_copyprivate,
288 descriptor::Clause(
289 "copyprivate",
290 {
291 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
292 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
293 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
294 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
295 {Version(60), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
296 {Version(61), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
297 }
298 ),
299 },
300 {
301 Clause::OMPC_counts,
302 descriptor::Clause(
303 "counts",
304 {
305 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
306 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
307 }
308 ),
309 },
310 {
311 Clause::OMPC_default,
312 descriptor::Clause(
313 "default",
314 {
315 {Version(45), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
316 {Version(50), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
317 {Version(51), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
318 {Version(52), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
319 {Version(60), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::VariableCategory}, {}}},
320 {Version(61), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "default", {Directive::OMPD_parallel, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {ModifierSet::VariableSelector}}},
321 }
322 ),
323 },
324 {
325 Clause::OMPC_default_variant,
326 descriptor::Clause(
327 "default-variant",
328 {
329 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "default-variant", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
330 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "default-variant", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
331 }
332 ),
333 },
334 {
335 Clause::OMPC_defaultmap,
336 descriptor::Clause(
337 "defaultmap",
338 {
339 {Version(45), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
340 {Version(50), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
341 {Version(51), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
342 {Version(52), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
343 {Version(60), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::VariableCategory}, {}}},
344 {Version(61), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {ModifierSet::VariableSelector}}},
345 }
346 ),
347 },
348 {
349 Clause::OMPC_depend,
350 descriptor::Clause(
351 "depend",
352 {
353 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "depend", {Directive::OMPD_ordered_standalone, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::TaskDependenceType}, {ModifierSet::DependModifierSet1}}},
354 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "depend", {Directive::OMPD_depobj, Directive::OMPD_ordered_standalone, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::Iterator, Modifier::TaskDependenceType}, {ModifierSet::DependModifierSet1}}},
355 {Version(51), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Repeatable}}, "depend", {Directive::OMPD_depobj, Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_ordered_standalone, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::Iterator, Modifier::TaskDependenceType}, {ModifierSet::DependModifierSet1}}},
356 {Version(52), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Repeatable}}, "depend", {Directive::OMPD_depobj, Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator, Modifier::TaskDependenceType}, {}}},
357 {Version(60), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited, Property::TaskgraphAltering}}, "depend", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::TaskDependenceType}, {}}},
358 {Version(61), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited, Property::TaskSynchronizing, Property::TaskgraphAltering}}, "depend", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::TaskDependenceType}, {ModifierSet::DependListType, ModifierSet::DependModifierSet1}}},
359 }
360 ),
361 },
362 {
363 Clause::OMPC_depth,
364 descriptor::Clause(
365 "depth",
366 {
367 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "depth", {Directive::OMPD_flatten, Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
368 }
369 ),
370 },
371 {
372 Clause::OMPC_destroy,
373 descriptor::Clause(
374 "destroy",
375 {
376 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
377 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
378 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
379 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
380 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
381 }
382 ),
383 },
384 {
385 Clause::OMPC_detach,
386 descriptor::Clause(
387 "detach",
388 {
389 {Version(50), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
390 {Version(51), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
391 {Version(52), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
392 {Version(60), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_target_data, Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
393 {Version(61), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_target_data, Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
394 }
395 ),
396 },
397 {
398 Clause::OMPC_device,
399 descriptor::Clause(
400 "device",
401 {
402 {Version(45), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
403 {Version(50), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DeviceModifier}, {}}},
404 {Version(51), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DeviceModifier}, {}}},
405 {Version(52), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DeviceModifier}, {}}},
406 {Version(60), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DeviceModifier, Modifier::DirectiveNameModifier}, {}}},
407 {Version(61), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "device", {Directive::OMPD_dispatch, Directive::OMPD_interop, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DeviceModifier, Modifier::DirectiveNameModifier}, {}}},
408 }
409 ),
410 },
411 {
412 Clause::OMPC_device_safesync,
413 descriptor::Clause(
414 "device_safesync",
415 {
416 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
417 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
418 }
419 ),
420 },
421 {
422 Clause::OMPC_device_type,
423 descriptor::Clause(
424 "device_type",
425 {
426 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
427 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
428 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
429 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target, Directive::OMPD_groupprivate, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
430 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target, Directive::OMPD_groupprivate, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
431 }
432 ),
433 },
434 {
435 Clause::OMPC_dist_schedule,
436 descriptor::Clause(
437 "dist_schedule",
438 {
439 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
440 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
441 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
442 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
443 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
444 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
445 }
446 ),
447 },
448 {
449 Clause::OMPC_doacross,
450 descriptor::Clause(
451 "doacross",
452 {
453 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType}, {}}},
454 {Version(60), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
455 {Version(61), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
456 }
457 ),
458 },
459 {
460 Clause::OMPC_dyn_groupprivate,
461 descriptor::Clause(
462 "dyn_groupprivate",
463 {
464 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "dyn_groupprivate", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AccessGroup, Modifier::DirectiveNameModifier, Modifier::FallbackModifier}, {}}},
465 }
466 ),
467 },
468 {
469 Clause::OMPC_dynamic_allocators,
470 descriptor::Clause(
471 "dynamic_allocators",
472 {
473 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
474 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
475 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
476 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
477 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
478 }
479 ),
480 },
481 {
482 Clause::OMPC_enter,
483 descriptor::Clause(
484 "enter",
485 {
486 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "enter", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
487 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "enter", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AutomapModifier, Modifier::DirectiveNameModifier}, {}}},
488 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "enter", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AutomapModifier, Modifier::DirectiveNameModifier}, {}}},
489 }
490 ),
491 },
492 {
493 Clause::OMPC_exclusive,
494 descriptor::Clause(
495 "exclusive",
496 {
497 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
498 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
499 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
500 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
501 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
502 }
503 ),
504 },
505 {
506 Clause::OMPC_fail,
507 descriptor::Clause(
508 "fail",
509 {
510 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
511 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
512 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
513 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
514 }
515 ),
516 },
517 {
518 Clause::OMPC_filter,
519 descriptor::Clause(
520 "filter",
521 {
522 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
523 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
524 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
525 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
526 }
527 ),
528 },
529 {
530 Clause::OMPC_final,
531 descriptor::Clause(
532 "final",
533 {
534 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
535 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
536 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
537 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
538 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
539 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
540 }
541 ),
542 },
543 {
544 Clause::OMPC_firstprivate,
545 descriptor::Clause(
546 "firstprivate",
547 {
548 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
549 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
550 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
551 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
552 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Saved}, {}}},
553 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "firstprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Saved}, {}}},
554 }
555 ),
556 },
557 {
558 Clause::OMPC_from,
559 descriptor::Clause(
560 "from",
561 {
562 {Version(45), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
563 {Version(50), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Mapper}, {}}},
564 {Version(51), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator, Modifier::Mapper, Modifier::MotionModifier}, {}}},
565 {Version(52), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Expectation, Modifier::Iterator, Modifier::Mapper}, {}}},
566 {Version(60), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::Mapper, Modifier::PresentModifier}, {}}},
567 {Version(61), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::Mapper, Modifier::PresentModifier}, {}}},
568 }
569 ),
570 },
571 {
572 Clause::OMPC_full,
573 descriptor::Clause(
574 "full",
575 {
576 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
577 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
578 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
579 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
580 }
581 ),
582 },
583 {
584 Clause::OMPC_grainsize,
585 descriptor::Clause(
586 "grainsize",
587 {
588 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
589 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
590 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
591 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
592 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
593 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
594 }
595 ),
596 },
597 {
598 Clause::OMPC_graph_id,
599 descriptor::Clause(
600 "graph_id",
601 {
602 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
603 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
604 }
605 ),
606 },
607 {
608 Clause::OMPC_graph_reset,
609 descriptor::Clause(
610 "graph_reset",
611 {
612 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
613 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
614 }
615 ),
616 },
617 {
618 Clause::OMPC_has_device_addr,
619 descriptor::Clause(
620 "has_device_addr",
621 {
622 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "has_device_addr", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
623 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "has_device_addr", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
624 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "has_device_addr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
625 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "has_device_addr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
626 }
627 ),
628 },
629 {
630 Clause::OMPC_hint,
631 descriptor::Clause(
632 "hint",
633 {
634 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
635 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
636 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
637 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
638 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
639 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
640 }
641 ),
642 },
643 {
644 Clause::OMPC_holds,
645 descriptor::Clause(
646 "holds",
647 {
648 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "holds", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
649 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "holds", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
650 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "holds", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
651 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "holds", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
652 }
653 ),
654 },
655 {
656 Clause::OMPC_if,
657 descriptor::Clause(
658 "if",
659 {
660 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
661 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_simd, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
662 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_simd, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
663 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_simd, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
664 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_simd, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskgraph, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
665 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TargetConsistent}}, "if", {Directive::OMPD_cancel, Directive::OMPD_parallel, Directive::OMPD_simd, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskgraph, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
666 }
667 ),
668 },
669 {
670 Clause::OMPC_in_reduction,
671 descriptor::Clause(
672 "in_reduction",
673 {
674 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::ReductionParticipating, Property::Repeatable}}, "in_reduction", {Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
675 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::ReductionParticipating, Property::Repeatable}}, "in_reduction", {Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
676 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::ReductionParticipating, Property::Repeatable}}, "in_reduction", {Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
677 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::ReductionParticipating, Property::Repeatable}}, "in_reduction", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ReductionIdentifier}, {}}},
678 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Privatization, Property::ReductionParticipating, Property::Repeatable}}, "in_reduction", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ReductionIdentifier}, {}}},
679 }
680 ),
681 },
682 {
683 Clause::OMPC_inbranch,
684 descriptor::Clause(
685 "inbranch",
686 {
687 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
688 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
689 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
690 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
691 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
692 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
693 }
694 ),
695 },
696 {
697 Clause::OMPC_inclusive,
698 descriptor::Clause(
699 "inclusive",
700 {
701 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
702 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
703 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
704 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
705 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
706 }
707 ),
708 },
709 {
710 Clause::OMPC_indirect,
711 descriptor::Clause(
712 "indirect",
713 {
714 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
715 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
716 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
717 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
718 }
719 ),
720 },
721 {
722 Clause::OMPC_induction,
723 descriptor::Clause(
724 "induction",
725 {
726 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "induction", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::InductionIdentifier, Modifier::InductionModifier, Modifier::StepModifier}, {}}},
727 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "induction", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::InductionIdentifier, Modifier::InductionModifier, Modifier::StepModifier}, {}}},
728 }
729 ),
730 },
731 {
732 Clause::OMPC_inductor,
733 descriptor::Clause(
734 "inductor",
735 {
736 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
737 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
738 }
739 ),
740 },
741 {
742 Clause::OMPC_init,
743 descriptor::Clause(
744 "init",
745 {
746 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
747 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
748 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DepinfoModifier, Modifier::DirectiveNameModifier, Modifier::InteropType, Modifier::PreferType}, {}}},
749 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DepinfoModifier, Modifier::DirectiveNameModifier, Modifier::PreferType}, {ModifierSet::InteropType}}},
750 }
751 ),
752 },
753 {
754 Clause::OMPC_init_complete,
755 descriptor::Clause(
756 "init_complete",
757 {
758 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
759 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
760 }
761 ),
762 },
763 {
764 Clause::OMPC_initializer,
765 descriptor::Clause(
766 "initializer",
767 {
768 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
769 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
770 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
771 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
772 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
773 }
774 ),
775 },
776 {
777 Clause::OMPC_interop,
778 descriptor::Clause(
779 "interop",
780 {
781 {Version(60), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
782 {Version(61), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
783 }
784 ),
785 },
786 {
787 Clause::OMPC_is_device_ptr,
788 descriptor::Clause(
789 "is_device_ptr",
790 {
791 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
792 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
793 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
794 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
795 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
796 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::DispatchRequirement, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "is_device_ptr", {Directive::OMPD_dispatch, Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
797 }
798 ),
799 },
800 {
801 Clause::OMPC_lastprivate,
802 descriptor::Clause(
803 "lastprivate",
804 {
805 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
806 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LastprivateModifier}, {}}},
807 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LastprivateModifier}, {}}},
808 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LastprivateModifier}, {}}},
809 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LastprivateModifier}, {}}},
810 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::Repeatable}}, "lastprivate", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LastprivateModifier}, {}}},
811 }
812 ),
813 },
814 {
815 Clause::OMPC_linear,
816 descriptor::Clause(
817 "linear",
818 {
819 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LinearModifier, Modifier::LinearStep}, {}}},
820 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LinearModifier, Modifier::LinearStep}, {}}},
821 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LinearModifier, Modifier::LinearStep}, {}}},
822 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LinearModifier, Modifier::StepComplexModifier, Modifier::StepSimpleModifier}, {}}},
823 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LinearModifier, Modifier::StepComplexModifier, Modifier::StepSimpleModifier}, {}}},
824 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::PostModified, Property::Privatization, Property::Repeatable}}, "linear", {Directive::OMPD_declare_simd, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LinearModifier, Modifier::StepComplexModifier, Modifier::StepSimpleModifier}, {}}},
825 }
826 ),
827 },
828 {
829 Clause::OMPC_link,
830 descriptor::Clause(
831 "link",
832 {
833 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
834 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
835 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
836 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
837 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
838 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
839 }
840 ),
841 },
842 {
843 Clause::OMPC_local,
844 descriptor::Clause(
845 "local",
846 {
847 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
848 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
849 }
850 ),
851 },
852 {
853 Clause::OMPC_looprange,
854 descriptor::Clause(
855 "looprange",
856 {
857 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
858 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
859 }
860 ),
861 },
862 {
863 Clause::OMPC_map,
864 descriptor::Clause(
865 "map",
866 {
867 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::MapType, Modifier::MapTypeModifier, Modifier::OmpxHoldModifier}, {}}},
868 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_declare_mapper, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::MapType, Modifier::MapTypeModifier, Modifier::Mapper, Modifier::OmpxHoldModifier}, {}}},
869 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_declare_mapper, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator, Modifier::MapType, Modifier::MapTypeModifier, Modifier::Mapper, Modifier::OmpxHoldModifier}, {}}},
870 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_declare_mapper, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator, Modifier::MapType, Modifier::MapTypeModifier, Modifier::Mapper, Modifier::OmpxHoldModifier}, {}}},
871 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_declare_mapper, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AlwaysModifier, Modifier::CloseModifier, Modifier::DeleteModifier, Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::MapType, Modifier::Mapper, Modifier::OmpxHoldModifier, Modifier::PresentModifier, Modifier::RefModifier, Modifier::SelfModifier}, {}}},
872 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "map", {Directive::OMPD_declare_mapper, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AttachModifier, Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::MapType, Modifier::Mapper, Modifier::OmpxHoldModifier, Modifier::RefModifier}, {ModifierSet::MapTypeModifying}}},
873 }
874 ),
875 },
876 {
877 Clause::OMPC_match,
878 descriptor::Clause(
879 "match",
880 {
881 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
882 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
883 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
884 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
885 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
886 }
887 ),
888 },
889 {
890 Clause::OMPC_memscope,
891 descriptor::Clause(
892 "memscope",
893 {
894 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
895 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
896 }
897 ),
898 },
899 {
900 Clause::OMPC_mergeable,
901 descriptor::Clause(
902 "mergeable",
903 {
904 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
905 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
906 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
907 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
908 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
909 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
910 }
911 ),
912 },
913 {
914 Clause::OMPC_message,
915 descriptor::Clause(
916 "message",
917 {
918 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
919 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
920 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
921 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error, Directive::OMPD_parallel, Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
922 }
923 ),
924 },
925 {
926 Clause::OMPC_no_openmp,
927 descriptor::Clause(
928 "no_openmp",
929 {
930 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
931 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
932 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
933 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
934 }
935 ),
936 },
937 {
938 Clause::OMPC_no_openmp_constructs,
939 descriptor::Clause(
940 "no_openmp_constructs",
941 {
942 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_constructs", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
943 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_constructs", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
944 }
945 ),
946 },
947 {
948 Clause::OMPC_no_openmp_routines,
949 descriptor::Clause(
950 "no_openmp_routines",
951 {
952 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_routines", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
953 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_routines", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
954 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_routines", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
955 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_openmp_routines", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
956 }
957 ),
958 },
959 {
960 Clause::OMPC_no_parallelism,
961 descriptor::Clause(
962 "no_parallelism",
963 {
964 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_parallelism", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
965 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_parallelism", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
966 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_parallelism", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
967 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "no_parallelism", {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
968 }
969 ),
970 },
971 {
972 Clause::OMPC_nocontext,
973 descriptor::Clause(
974 "nocontext",
975 {
976 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
977 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
978 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
979 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
980 }
981 ),
982 },
983 {
984 Clause::OMPC_nogroup,
985 descriptor::Clause(
986 "nogroup",
987 {
988 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
989 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
990 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
991 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
992 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_target_data, Directive::OMPD_taskgraph, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
993 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::TaskSynchronizing, Property::Unique}}, "nogroup", {Directive::OMPD_target_data, Directive::OMPD_taskgraph, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
994 }
995 ),
996 },
997 {
998 Clause::OMPC_nontemporal,
999 descriptor::Clause(
1000 "nontemporal",
1001 {
1002 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1003 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1004 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1005 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1006 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1007 }
1008 ),
1009 },
1010 {
1011 Clause::OMPC_notinbranch,
1012 descriptor::Clause(
1013 "notinbranch",
1014 {
1015 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1016 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1017 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1018 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1019 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1020 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1021 }
1022 ),
1023 },
1024 {
1025 Clause::OMPC_novariants,
1026 descriptor::Clause(
1027 "novariants",
1028 {
1029 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1030 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1031 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1032 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1033 }
1034 ),
1035 },
1036 {
1037 Clause::OMPC_nowait,
1038 descriptor::Clause(
1039 "nowait",
1040 {
1041 {Version(45), {{{Property::Compatible, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1042 {Version(50), {{{Property::Compatible, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_taskwait, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1043 {Version(51), {{{Property::Compatible, Property::DispatchRequirement, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_dispatch, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_interop, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_taskwait, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1044 {Version(52), {{{Property::Compatible, Property::DispatchRequirement, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_dispatch, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_interop, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_taskwait, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1045 {Version(60), {{{Property::Compatible, Property::DispatchRequirement, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_dispatch, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_interop, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_taskwait, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1046 {Version(61), {{{Property::Compatible, Property::DispatchRequirement, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::TaskSynchronizing, Property::Unique}}, "nowait", {Directive::OMPD_dispatch, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_interop, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_taskwait, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1047 }
1048 ),
1049 },
1050 {
1051 Clause::OMPC_num_tasks,
1052 descriptor::Clause(
1053 "num_tasks",
1054 {
1055 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1056 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1057 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1058 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1059 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1060 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1061 }
1062 ),
1063 },
1064 {
1065 Clause::OMPC_num_teams,
1066 descriptor::Clause(
1067 "num_teams",
1068 {
1069 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1070 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1071 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1072 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1073 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::LowerBound}, {}}},
1074 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::SpaceConfiguring, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DimsModifier, Modifier::DirectiveNameModifier, Modifier::LowerBound}, {ModifierSet::NumTeamsModifierSet1}}},
1075 }
1076 ),
1077 },
1078 {
1079 Clause::OMPC_num_threads,
1080 descriptor::Clause(
1081 "num_threads",
1082 {
1083 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1084 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1085 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1086 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1087 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1088 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::SpaceConfiguring, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DimsModifier, Modifier::DirectiveNameModifier, Modifier::PrescriptivenessModifier}, {}}},
1089 }
1090 ),
1091 },
1092 {
1093 Clause::OMPC_ompx_bare,
1094 descriptor::Clause(
1095 "ompx_bare",
1096 {
1097 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1098 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1099 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1100 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1101 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1102 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1103 }
1104 ),
1105 },
1106 {
1107 Clause::OMPC_order,
1108 descriptor::Clause(
1109 "order",
1110 {
1111 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1112 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::OrderModifier}, {}}},
1113 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::OrderModifier}, {}}},
1114 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::OrderModifier}, {}}},
1115 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::OrderModifier}, {}}},
1116 }
1117 ),
1118 },
1119 {
1120 Clause::OMPC_ordered,
1121 descriptor::Clause(
1122 "ordered",
1123 {
1124 {Version(45), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1125 {Version(50), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1126 {Version(51), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1127 {Version(52), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1128 {Version(60), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1129 {Version(61), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1130 }
1131 ),
1132 },
1133 {
1134 Clause::OMPC_otherwise,
1135 descriptor::Clause(
1136 "otherwise",
1137 {
1138 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1139 {Version(60), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1140 {Version(61), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1141 }
1142 ),
1143 },
1144 {
1145 Clause::OMPC_partial,
1146 descriptor::Clause(
1147 "partial",
1148 {
1149 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1150 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1151 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1152 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1153 }
1154 ),
1155 },
1156 {
1157 Clause::OMPC_permutation,
1158 descriptor::Clause(
1159 "permutation",
1160 {
1161 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1162 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1163 }
1164 ),
1165 },
1166 {
1167 Clause::OMPC_priority,
1168 descriptor::Clause(
1169 "priority",
1170 {
1171 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1172 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1173 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1174 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1175 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskgraph, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1176 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskgraph, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1177 }
1178 ),
1179 },
1180 {
1181 Clause::OMPC_private,
1182 descriptor::Clause(
1183 "private",
1184 {
1185 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1186 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1187 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1188 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1189 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1190 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Repeatable}}, "private", {Directive::OMPD_distribute, Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1191 }
1192 ),
1193 },
1194 {
1195 Clause::OMPC_proc_bind,
1196 descriptor::Clause(
1197 "proc_bind",
1198 {
1199 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1200 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1201 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1202 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1203 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1204 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1205 }
1206 ),
1207 },
1208 {
1209 Clause::OMPC_read,
1210 descriptor::Clause(
1211 "read",
1212 {
1213 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1214 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1215 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1216 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1217 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1218 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1219 }
1220 ),
1221 },
1222 {
1223 Clause::OMPC_reduction,
1224 descriptor::Clause(
1225 "reduction",
1226 {
1227 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
1228 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier, Modifier::ReductionModifier}, {}}},
1229 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier, Modifier::ReductionModifier}, {}}},
1230 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier, Modifier::ReductionModifier}, {}}},
1231 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::OriginalSharingModifier, Modifier::ReductionIdentifier, Modifier::ReductionModifier}, {}}},
1232 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionParticipating, Property::ReductionScoping, Property::Repeatable}}, "reduction", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_parallel, Directive::OMPD_scope, Directive::OMPD_sections, Directive::OMPD_simd, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::OriginalSharingModifier, Modifier::PerThreadModifier, Modifier::ReductionIdentifier}, {ModifierSet::ReductionModifierSet1, ModifierSet::ReductionType}}},
1233 }
1234 ),
1235 },
1236 {
1237 Clause::OMPC_reduction_kind,
1238 descriptor::Clause(
1239 "reduction_kind",
1240 {
1241 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "reduction_kind", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1242 }
1243 ),
1244 },
1245 {
1246 Clause::OMPC_relaxed,
1247 descriptor::Clause(
1248 "relaxed",
1249 {
1250 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1251 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1252 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1253 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1254 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1255 }
1256 ),
1257 },
1258 {
1259 Clause::OMPC_release,
1260 descriptor::Clause(
1261 "release",
1262 {
1263 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1264 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1265 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1266 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1267 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1268 }
1269 ),
1270 },
1271 {
1272 Clause::OMPC_replayable,
1273 descriptor::Clause(
1274 "replayable",
1275 {
1276 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "replayable", {Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1277 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "replayable", {Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1278 }
1279 ),
1280 },
1281 {
1282 Clause::OMPC_reverse_offload,
1283 descriptor::Clause(
1284 "reverse_offload",
1285 {
1286 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1287 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1288 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1289 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1290 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1291 }
1292 ),
1293 },
1294 {
1295 Clause::OMPC_safelen,
1296 descriptor::Clause(
1297 "safelen",
1298 {
1299 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1300 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1301 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1302 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1303 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1304 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1305 }
1306 ),
1307 },
1308 {
1309 Clause::OMPC_safesync,
1310 descriptor::Clause(
1311 "safesync",
1312 {
1313 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1314 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1315 }
1316 ),
1317 },
1318 {
1319 Clause::OMPC_schedule,
1320 descriptor::Clause(
1321 "schedule",
1322 {
1323 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::OrderingModifier}, {}}},
1324 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::OrderingModifier}, {}}},
1325 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::OrderingModifier}, {}}},
1326 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::OrderingModifier}, {}}},
1327 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::DirectiveNameModifier, Modifier::OrderingModifier}, {}}},
1328 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "schedule", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ChunkModifier, Modifier::DirectiveNameModifier, Modifier::OrderingModifier}, {}}},
1329 }
1330 ),
1331 },
1332 {
1333 Clause::OMPC_self_maps,
1334 descriptor::Clause(
1335 "self_maps",
1336 {
1337 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1338 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1339 }
1340 ),
1341 },
1342 {
1343 Clause::OMPC_seq_cst,
1344 descriptor::Clause(
1345 "seq_cst",
1346 {
1347 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1348 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1349 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1350 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1351 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1352 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1353 }
1354 ),
1355 },
1356 {
1357 Clause::OMPC_severity,
1358 descriptor::Clause(
1359 "severity",
1360 {
1361 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1362 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1363 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1364 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel, Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1365 }
1366 ),
1367 },
1368 {
1369 Clause::OMPC_shared,
1370 descriptor::Clause(
1371 "shared",
1372 {
1373 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1374 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1375 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1376 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1377 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1378 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "shared", {Directive::OMPD_parallel, Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1379 }
1380 ),
1381 },
1382 {
1383 Clause::OMPC_shift,
1384 descriptor::Clause(
1385 "shift",
1386 {
1387 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "shift", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1388 }
1389 ),
1390 },
1391 {
1392 Clause::OMPC_simd,
1393 descriptor::Clause(
1394 "simd",
1395 {
1396 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1397 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1398 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1399 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1400 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1401 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1402 }
1403 ),
1404 },
1405 {
1406 Clause::OMPC_simdlen,
1407 descriptor::Clause(
1408 "simdlen",
1409 {
1410 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1411 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1412 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1413 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1414 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1415 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ScaledModifier}, {}}},
1416 }
1417 ),
1418 },
1419 {
1420 Clause::OMPC_sizes,
1421 descriptor::Clause(
1422 "sizes",
1423 {
1424 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1425 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1426 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_stripe, Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1427 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_stripe, Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::SizesSelector}, {}}},
1428 }
1429 ),
1430 },
1431 {
1432 Clause::OMPC_task_reduction,
1433 descriptor::Clause(
1434 "task_reduction",
1435 {
1436 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionScoping, Property::Repeatable}}, "task_reduction", {Directive::OMPD_taskgroup}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
1437 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionScoping, Property::Repeatable}}, "task_reduction", {Directive::OMPD_taskgroup}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
1438 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionScoping, Property::Repeatable}}, "task_reduction", {Directive::OMPD_taskgroup}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ReductionIdentifier}, {}}},
1439 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionScoping, Property::Repeatable}}, "task_reduction", {Directive::OMPD_taskgroup}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ReductionIdentifier}, {}}},
1440 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::OriginalListItemUpdating, Property::Privatization, Property::ReductionScoping, Property::Repeatable}}, "task_reduction", {Directive::OMPD_taskgroup}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ReductionIdentifier}, {}}},
1441 }
1442 ),
1443 },
1444 {
1445 Clause::OMPC_thread_limit,
1446 descriptor::Clause(
1447 "thread_limit",
1448 {
1449 {Version(45), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1450 {Version(50), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1451 {Version(51), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1452 {Version(52), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1453 {Version(60), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1454 {Version(61), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::SpaceConfiguring, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DimsModifier, Modifier::DirectiveNameModifier, Modifier::PrescriptivenessModifier}, {}}},
1455 }
1456 ),
1457 },
1458 {
1459 Clause::OMPC_threads,
1460 descriptor::Clause(
1461 "threads",
1462 {
1463 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1464 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1465 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1466 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1467 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1468 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1469 }
1470 ),
1471 },
1472 {
1473 Clause::OMPC_threadset,
1474 descriptor::Clause(
1475 "threadset",
1476 {
1477 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1478 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1479 }
1480 ),
1481 },
1482 {
1483 Clause::OMPC_to,
1484 descriptor::Clause(
1485 "to",
1486 {
1487 {Version(45), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_declare_target, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1488 {Version(50), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_declare_target, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Mapper}, {}}},
1489 {Version(51), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_declare_target, Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator, Modifier::Mapper, Modifier::MotionModifier}, {}}},
1490 {Version(52), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Expectation, Modifier::Iterator, Modifier::Mapper}, {}}},
1491 {Version(60), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::Mapper, Modifier::PresentModifier}, {}}},
1492 {Version(61), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "to", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::Mapper, Modifier::PresentModifier}, {}}},
1493 }
1494 ),
1495 },
1496 {
1497 Clause::OMPC_transparent,
1498 descriptor::Clause(
1499 "transparent",
1500 {
1501 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "transparent", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1502 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "transparent", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1503 }
1504 ),
1505 },
1506 {
1507 Clause::OMPC_unified_address,
1508 descriptor::Clause(
1509 "unified_address",
1510 {
1511 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1512 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1513 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1514 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1515 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1516 }
1517 ),
1518 },
1519 {
1520 Clause::OMPC_unified_shared_memory,
1521 descriptor::Clause(
1522 "unified_shared_memory",
1523 {
1524 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1525 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1526 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1527 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1528 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1529 }
1530 ),
1531 },
1532 {
1533 Clause::OMPC_uniform,
1534 descriptor::Clause(
1535 "uniform",
1536 {
1537 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1538 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1539 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1540 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1541 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1542 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1543 }
1544 ),
1545 },
1546 {
1547 Clause::OMPC_untied,
1548 descriptor::Clause(
1549 "untied",
1550 {
1551 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1552 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1553 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1554 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1555 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1556 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1557 }
1558 ),
1559 },
1560 {
1561 Clause::OMPC_update,
1562 descriptor::Clause(
1563 "update",
1564 {
1565 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1566 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1567 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1568 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1569 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1570 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1571 }
1572 ),
1573 },
1574 {
1575 Clause::OMPC_update_depend_objects,
1576 descriptor::Clause(
1577 "update-depend_objects",
1578 {
1579 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1580 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1581 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1582 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {}}},
1583 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {}}},
1584 }
1585 ),
1586 },
1587 {
1588 Clause::OMPC_use,
1589 descriptor::Clause(
1590 "use",
1591 {
1592 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1593 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1594 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1595 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1596 }
1597 ),
1598 },
1599 {
1600 Clause::OMPC_use_device_addr,
1601 descriptor::Clause(
1602 "use_device_addr",
1603 {
1604 {Version(50), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Repeatable}}, "use_device_addr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1605 {Version(51), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Repeatable}}, "use_device_addr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1606 {Version(52), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Repeatable}}, "use_device_addr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1607 {Version(60), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Repeatable}}, "use_device_addr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1608 {Version(61), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Repeatable}}, "use_device_addr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1609 }
1610 ),
1611 },
1612 {
1613 Clause::OMPC_use_device_ptr,
1614 descriptor::Clause(
1615 "use_device_ptr",
1616 {
1617 {Version(45), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1618 {Version(50), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1619 {Version(51), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1620 {Version(52), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1621 {Version(60), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1622 {Version(61), {{{Property::AllDataEnvironments, Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::DeviceAssociated, Property::Free, Property::Optional, Property::Privatization, Property::Repeatable}}, "use_device_ptr", {Directive::OMPD_target_data}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Fallback}, {}}},
1623 }
1624 ),
1625 },
1626 {
1627 Clause::OMPC_uses_allocators,
1628 descriptor::Clause(
1629 "uses_allocators",
1630 {
1631 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1632 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1633 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::MemSpace, Modifier::TraitsArray}, {}}},
1634 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::MemSpace, Modifier::TraitsArray}, {}}},
1635 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::MemSpace, Modifier::TraitsArray}, {}}},
1636 }
1637 ),
1638 },
1639 {
1640 Clause::OMPC_weak,
1641 descriptor::Clause(
1642 "weak",
1643 {
1644 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1645 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1646 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1647 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1648 }
1649 ),
1650 },
1651 {
1652 Clause::OMPC_when,
1653 descriptor::Clause(
1654 "when",
1655 {
1656 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1657 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1658 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1659 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1660 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1661 }
1662 ),
1663 },
1664 {
1665 Clause::OMPC_write,
1666 descriptor::Clause(
1667 "write",
1668 {
1669 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1670 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1671 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1672 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1673 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1674 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1675 }
1676 ),
1677 },
1678#endif // GEN_OMP_CLAUSE_DESCRIPTORS
1679#ifdef GEN_OMP_CLAUSE_GROUP_DESCRIPTORS
1680 {
1681 ClauseSet::Assumption,
1682 descriptor::ClauseSet(
1683 "assumption",
1684 {
1685 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1686 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1687 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1688 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1689 }
1690 ),
1691 },
1692 {
1693 ClauseSet::Atomic,
1694 descriptor::ClauseSet(
1695 "atomic",
1696 {
1697 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1698 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1699 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1700 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1701 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1702 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1703 }
1704 ),
1705 },
1706 {
1707 ClauseSet::Branch,
1708 descriptor::ClauseSet(
1709 "branch",
1710 {
1711 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1712 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1713 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1714 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1715 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1716 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1717 }
1718 ),
1719 },
1720 {
1721 ClauseSet::CancelDirectiveName,
1722 descriptor::ClauseSet(
1723 "cancel-directive-name",
1724 {
1725 {Version(50), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1726 {Version(51), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1727 {Version(52), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1728 {Version(60), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1729 {Version(61), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1730 }
1731 ),
1732 },
1733 {
1734 ClauseSet::ExtendedAtomic,
1735 descriptor::ClauseSet(
1736 "extended-atomic",
1737 {
1738 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture}, {Directive::OMPD_atomic}}},
1739 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture}, {Directive::OMPD_atomic}}},
1740 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1741 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1742 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1743 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1744 }
1745 ),
1746 },
1747 {
1748 ClauseSet::MemoryOrder,
1749 descriptor::ClauseSet(
1750 "memory-order",
1751 {
1752 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_seq_cst}, {Directive::OMPD_atomic}}},
1753 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1754 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1755 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1756 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1757 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1758 }
1759 ),
1760 },
1761 {
1762 ClauseSet::ParallelizationLevel,
1763 descriptor::ClauseSet(
1764 "parallelization-level",
1765 {
1766 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1767 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1768 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1769 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1770 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1771 }
1772 ),
1773 },
1774 {
1775 ClauseSet::Requirement,
1776 descriptor::ClauseSet(
1777 "requirement",
1778 {
1779 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1780 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1781 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1782 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_device_safesync, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_self_maps, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1783 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_device_safesync, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_self_maps, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1784 }
1785 ),
1786 },
1787#endif // GEN_OMP_CLAUSE_GROUP_DESCRIPTORS
1788#ifdef GEN_OMP_CLAUSE_SET_DESCRIPTORS
1789 {
1790 ClauseSet::ActionClause,
1791 descriptor::ClauseSet(
1792 "action-clause",
1793 {
1794 {Version(51), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1795 {Version(52), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1796 {Version(60), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1797 {Version(61), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1798 }
1799 ),
1800 },
1801 {
1802 ClauseSet::DataEnvironmentClause,
1803 descriptor::ClauseSet(
1804 "data-environment-clause",
1805 {
1806 {Version(50), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1807 {Version(51), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1808 {Version(52), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1809 {Version(60), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1810 {Version(61), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1811 }
1812 ),
1813 },
1814 {
1815 ClauseSet::DepobjClauseSet1,
1816 descriptor::ClauseSet(
1817 "depobj_clause_set_1",
1818 {
1819 {Version(50), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1820 {Version(51), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1821 {Version(52), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1822 {Version(60), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1823 {Version(61), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1824 }
1825 ),
1826 },
1827 {
1828 ClauseSet::GranularityClause,
1829 descriptor::ClauseSet(
1830 "granularity-clause",
1831 {
1832 {Version(45), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1833 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1834 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1835 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1836 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1837 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1838 }
1839 ),
1840 },
1841 {
1842 ClauseSet::ScanClauseSet1,
1843 descriptor::ClauseSet(
1844 "scan_clause_set_1",
1845 {
1846 {Version(50), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
1847 {Version(51), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
1848 {Version(52), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
1849 {Version(60), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {Directive::OMPD_scan}}},
1850 {Version(61), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {Directive::OMPD_scan}}},
1851 }
1852 ),
1853 },
1854 {
1855 ClauseSet::SingleClauseSet1,
1856 descriptor::ClauseSet(
1857 "single_clause_set_1",
1858 {
1859 {Version(45), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1860 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1861 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1862 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1863 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1864 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
1865 }
1866 ),
1867 },
1868 {
1869 ClauseSet::SynchronizationClause,
1870 descriptor::ClauseSet(
1871 "synchronization-clause",
1872 {
1873 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
1874 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
1875 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
1876 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
1877 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
1878 }
1879 ),
1880 },
1881 {
1882 ClauseSet::TargetDataClauseSet1,
1883 descriptor::ClauseSet(
1884 "target_data_clause_set_1",
1885 {
1886 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_data}}},
1887 }
1888 ),
1889 },
1890 {
1891 ClauseSet::TargetEnterDataClauseSet1,
1892 descriptor::ClauseSet(
1893 "target_enter_data_clause_set_1",
1894 {
1895 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1896 {Version(50), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1897 {Version(51), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1898 {Version(52), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1899 {Version(60), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1900 {Version(61), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
1901 }
1902 ),
1903 },
1904 {
1905 ClauseSet::TargetExitDataClauseSet1,
1906 descriptor::ClauseSet(
1907 "target_exit_data_clause_set_1",
1908 {
1909 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1910 {Version(50), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1911 {Version(51), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1912 {Version(52), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1913 {Version(60), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1914 {Version(61), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
1915 }
1916 ),
1917 },
1918 {
1919 ClauseSet::TargetUpdateClauseSet1,
1920 descriptor::ClauseSet(
1921 "target_update_clause_set_1",
1922 {
1923 {Version(45), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1924 {Version(50), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1925 {Version(51), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1926 {Version(52), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1927 {Version(60), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1928 {Version(61), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
1929 }
1930 ),
1931 },
1932 {
1933 ClauseSet::TaskClauseSet1,
1934 descriptor::ClauseSet(
1935 "task_clause_set_1",
1936 {
1937 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
1938 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
1939 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
1940 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
1941 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
1942 }
1943 ),
1944 },
1945 {
1946 ClauseSet::UnrollClauseSet1,
1947 descriptor::ClauseSet(
1948 "unroll_clause_set_1",
1949 {
1950 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
1951 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
1952 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
1953 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
1954 }
1955 ),
1956 },
1957#endif // GEN_OMP_CLAUSE_SET_DESCRIPTORS
1958#ifdef GEN_OMP_DIRECTIVE_DESCRIPTORS
1959 {
1960 Directive::OMPD_allocate,
1961 descriptor::Directive(
1962 "allocate",
1963 {
1964 {Version(50), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_allocator}, {}}},
1965 {Version(51), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
1966 {Version(52), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
1967 {Version(60), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
1968 {Version(61), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
1969 }
1970 ),
1971 },
1972 {
1973 Directive::OMPD_allocators,
1974 descriptor::Directive(
1975 "allocators",
1976 {
1977 {Version(52), {{{}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
1978 {Version(60), {{{}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
1979 {Version(61), {{{}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
1980 }
1981 ),
1982 },
1983 {
1984 Directive::OMPD_assume,
1985 descriptor::Directive(
1986 "assume",
1987 {
1988 {Version(51), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
1989 {Version(52), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
1990 {Version(60), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
1991 {Version(61), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
1992 }
1993 ),
1994 },
1995 {
1996 Directive::OMPD_assumes,
1997 descriptor::Directive(
1998 "assumes",
1999 {
2000 {Version(51), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2001 {Version(52), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2002 {Version(60), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2003 {Version(61), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2004 }
2005 ),
2006 },
2007 {
2008 Directive::OMPD_atomic,
2009 descriptor::Directive(
2010 "atomic",
2011 {
2012 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2013 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2014 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2015 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2016 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint, Clause::OMPC_memscope}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2017 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint, Clause::OMPC_memscope}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2018 }
2019 ),
2020 },
2021 {
2022 Directive::OMPD_barrier,
2023 descriptor::Directive(
2024 "barrier",
2025 {
2026 {Version(45), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2027 {Version(50), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2028 {Version(51), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2029 {Version(52), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2030 {Version(60), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2031 {Version(61), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSynchronizing, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2032 }
2033 ),
2034 },
2035 {
2036 Directive::OMPD_begin_assumes,
2037 descriptor::Directive(
2038 "begin_assumes",
2039 {
2040 {Version(51), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2041 {Version(52), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2042 {Version(60), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2043 {Version(61), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2044 }
2045 ),
2046 },
2047 {
2048 Directive::OMPD_begin_declare_target,
2049 descriptor::Directive(
2050 "begin_declare_target",
2051 {
2052 {Version(51), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2053 {Version(52), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2054 {Version(60), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare_target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2055 {Version(61), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare_target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2056 }
2057 ),
2058 },
2059 {
2060 Directive::OMPD_begin_declare_variant,
2061 descriptor::Directive(
2062 "begin_declare_variant",
2063 {
2064 {Version(51), {{{}}, "begin declare variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2065 {Version(52), {{{}}, "begin declare variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2066 {Version(60), {{{}}, "begin declare_variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2067 {Version(61), {{{}}, "begin declare_variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2068 }
2069 ),
2070 },
2071 {
2072 Directive::OMPD_cancel,
2073 descriptor::Directive(
2074 "cancel",
2075 {
2076 {Version(45), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_cancellation_construct_type, Clause::OMPC_if}, {}}},
2077 {Version(50), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2078 {Version(51), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2079 {Version(52), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2080 {Version(60), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2081 {Version(61), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2082 }
2083 ),
2084 },
2085 {
2086 Directive::OMPD_cancellation_point,
2087 descriptor::Directive(
2088 "cancellation_point",
2089 {
2090 {Version(45), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {Clause::OMPC_cancellation_construct_type}, {}}},
2091 {Version(50), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2092 {Version(51), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2093 {Version(52), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2094 {Version(60), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation_point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2095 {Version(61), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation_point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2096 }
2097 ),
2098 },
2099 {
2100 Directive::OMPD_critical,
2101 descriptor::Directive(
2102 "critical",
2103 {
2104 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2105 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2106 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2107 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2108 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2109 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2110 }
2111 ),
2112 },
2113 {
2114 Directive::OMPD_declare_induction,
2115 descriptor::Directive(
2116 "declare_induction",
2117 {
2118 {Version(60), {{{Property::Pure}}, "declare_induction", Association::Unassociated, Category::Declarative, {Clause::OMPC_collector, Clause::OMPC_inductor}, {}}},
2119 {Version(61), {{{Property::Pure}}, "declare_induction", Association::Unassociated, Category::Declarative, {Clause::OMPC_collector, Clause::OMPC_inductor}, {}}},
2120 }
2121 ),
2122 },
2123 {
2124 Directive::OMPD_declare_mapper,
2125 descriptor::Directive(
2126 "declare_mapper",
2127 {
2128 {Version(50), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {}}},
2129 {Version(51), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {}}},
2130 {Version(52), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {}}},
2131 {Version(60), {{{Property::Pure}}, "declare_mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {}}},
2132 {Version(61), {{{Property::Pure}}, "declare_mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {}}},
2133 }
2134 ),
2135 },
2136 {
2137 Directive::OMPD_declare_reduction,
2138 descriptor::Directive(
2139 "declare_reduction",
2140 {
2141 {Version(45), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {}, {}}},
2142 {Version(50), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2143 {Version(51), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2144 {Version(52), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2145 {Version(60), {{{Property::Pure}}, "declare_reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_combiner, Clause::OMPC_initializer}, {}}},
2146 {Version(61), {{{Property::Pure}}, "declare_reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_combiner, Clause::OMPC_initializer, Clause::OMPC_reduction_kind}, {}}},
2147 }
2148 ),
2149 },
2150 {
2151 Directive::OMPD_declare_simd,
2152 descriptor::Directive(
2153 "declare_simd",
2154 {
2155 {Version(45), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2156 {Version(50), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2157 {Version(51), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2158 {Version(52), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2159 {Version(60), {{{Property::Pure, Property::VariantGenerating}}, "declare_simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2160 {Version(61), {{{Property::Pure, Property::VariantGenerating}}, "declare_simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2161 }
2162 ),
2163 },
2164 {
2165 Directive::OMPD_declare_target,
2166 descriptor::Directive(
2167 "declare_target",
2168 {
2169 {Version(45), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_link, Clause::OMPC_to}, {}}},
2170 {Version(50), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_link, Clause::OMPC_to}, {}}},
2171 {Version(51), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_to}, {}}},
2172 {Version(52), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link}, {}}},
2173 {Version(60), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare_target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_local}, {}}},
2174 {Version(61), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare_target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_local}, {}}},
2175 }
2176 ),
2177 },
2178 {
2179 Directive::OMPD_declare_variant,
2180 descriptor::Directive(
2181 "declare_variant",
2182 {
2183 {Version(50), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_match}, {}}},
2184 {Version(51), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2185 {Version(52), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2186 {Version(60), {{{Property::Pure}}, "declare_variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2187 {Version(61), {{{Property::Pure}}, "declare_variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2188 }
2189 ),
2190 },
2191 {
2192 Directive::OMPD_depobj,
2193 descriptor::Directive(
2194 "depobj",
2195 {
2196 {Version(50), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2197 {Version(51), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2198 {Version(52), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2199 {Version(60), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2200 {Version(61), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2201 }
2202 ),
2203 },
2204 {
2205 Directive::OMPD_dispatch,
2206 descriptor::Directive(
2207 "dispatch",
2208 {
2209 {Version(51), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2210 {Version(52), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2211 {Version(60), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_has_device_addr, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2212 {Version(61), {{{Property::ContextMatching, Property::ImplicitTaskwait, Property::TaskSynchronizing}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_has_device_addr, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2213 }
2214 ),
2215 },
2216 {
2217 Directive::OMPD_distribute,
2218 descriptor::Directive(
2219 "distribute",
2220 {
2221 {Version(45), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_private}, {}}},
2222 {Version(50), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2223 {Version(51), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2224 {Version(52), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2225 {Version(60), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2226 {Version(61), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2227 }
2228 ),
2229 },
2230 {
2231 Directive::OMPD_do,
2232 descriptor::Directive(
2233 "do",
2234 {
2235 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2236 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2237 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2238 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2239 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2240 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2241 }
2242 ),
2243 },
2244 {
2245 Directive::OMPD_error,
2246 descriptor::Directive(
2247 "error",
2248 {
2249 {Version(51), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2250 {Version(52), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2251 {Version(60), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2252 {Version(61), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2253 }
2254 ),
2255 },
2256 {
2257 Directive::OMPD_flatten,
2258 descriptor::Directive(
2259 "flatten",
2260 {
2261 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "flatten", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth}, {}}},
2262 }
2263 ),
2264 },
2265 {
2266 Directive::OMPD_flush,
2267 descriptor::Directive(
2268 "flush",
2269 {
2270 {Version(45), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {}}},
2271 {Version(50), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2272 {Version(51), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2273 {Version(52), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2274 {Version(60), {{{}}, "flush", Association::Unassociated, Category::Executable, {Clause::OMPC_memscope}, {ClauseSet::MemoryOrder}}},
2275 {Version(61), {{{}}, "flush", Association::Unassociated, Category::Executable, {Clause::OMPC_memscope}, {ClauseSet::MemoryOrder}}},
2276 }
2277 ),
2278 },
2279 {
2280 Directive::OMPD_for,
2281 descriptor::Directive(
2282 "for",
2283 {
2284 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2285 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2286 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2287 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2288 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2289 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2290 }
2291 ),
2292 },
2293 {
2294 Directive::OMPD_fuse,
2295 descriptor::Directive(
2296 "fuse",
2297 {
2298 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "fuse", Association::LoopSequence, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_looprange}, {}}},
2299 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "fuse", Association::LoopSequence, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth, Clause::OMPC_looprange}, {}}},
2300 }
2301 ),
2302 },
2303 {
2304 Directive::OMPD_groupprivate,
2305 descriptor::Directive(
2306 "groupprivate",
2307 {
2308 {Version(60), {{{Property::Pure}}, "groupprivate", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type}, {}}},
2309 {Version(61), {{{Property::Pure}}, "groupprivate", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type}, {}}},
2310 }
2311 ),
2312 },
2313 {
2314 Directive::OMPD_interchange,
2315 descriptor::Directive(
2316 "interchange",
2317 {
2318 {Version(60), {{{Property::LoopTransforming, Property::NonrectangularCompatible, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "interchange", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_permutation}, {}}},
2319 {Version(61), {{{Property::LoopTransforming, Property::NonrectangularCompatible, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "interchange", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_permutation}, {}}},
2320 }
2321 ),
2322 },
2323 {
2324 Directive::OMPD_interop,
2325 descriptor::Directive(
2326 "interop",
2327 {
2328 {Version(51), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2329 {Version(52), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2330 {Version(60), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2331 {Version(61), {{{Property::Device, Property::TaskSynchronizing}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2332 }
2333 ),
2334 },
2335 {
2336 Directive::OMPD_loop,
2337 descriptor::Directive(
2338 "loop",
2339 {
2340 {Version(50), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2341 {Version(51), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2342 {Version(52), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2343 {Version(60), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2344 {Version(61), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2345 }
2346 ),
2347 },
2348 {
2349 Directive::OMPD_masked,
2350 descriptor::Directive(
2351 "masked",
2352 {
2353 {Version(51), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2354 {Version(52), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2355 {Version(60), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2356 {Version(61), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2357 }
2358 ),
2359 },
2360 {
2361 Directive::OMPD_master,
2362 descriptor::Directive(
2363 "master",
2364 {
2365 {Version(45), {{{Property::ThreadLimiting}}, "master", Association::Block, Category::Executable, {}, {}}},
2366 {Version(50), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "master", Association::Block, Category::Executable, {}, {}}},
2367 }
2368 ),
2369 },
2370 {
2371 Directive::OMPD_metadirective,
2372 descriptor::Directive(
2373 "metadirective",
2374 {
2375 {Version(50), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2376 {Version(51), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2377 {Version(52), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2378 {Version(60), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2379 {Version(61), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2380 }
2381 ),
2382 },
2383 {
2384 Directive::OMPD_nothing,
2385 descriptor::Directive(
2386 "nothing",
2387 {
2388 {Version(51), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {}, {}}},
2389 {Version(52), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {}, {}}},
2390 {Version(60), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {Clause::OMPC_apply}, {}}},
2391 {Version(61), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {Clause::OMPC_apply}, {}}},
2392 }
2393 ),
2394 },
2395 {
2396 Directive::OMPD_ordered_blockassoc,
2397 descriptor::Directive(
2398 "ordered-blockassoc",
2399 {
2400 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {Clause::OMPC_simd, Clause::OMPC_threads}, {}}},
2401 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2402 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2403 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2404 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2405 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2406 }
2407 ),
2408 },
2409 {
2410 Directive::OMPD_ordered_standalone,
2411 descriptor::Directive(
2412 "ordered-standalone",
2413 {
2414 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2415 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2416 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2417 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2418 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2419 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2420 }
2421 ),
2422 },
2423 {
2424 Directive::OMPD_parallel,
2425 descriptor::Directive(
2426 "parallel",
2427 {
2428 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2429 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2430 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2431 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2432 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_safesync, Clause::OMPC_severity, Clause::OMPC_shared}, {}}},
2433 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSynchronizing, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_safesync, Clause::OMPC_severity, Clause::OMPC_shared}, {}}},
2434 }
2435 ),
2436 },
2437 {
2438 Directive::OMPD_requires,
2439 descriptor::Directive(
2440 "requires",
2441 {
2442 {Version(50), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2443 {Version(51), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2444 {Version(52), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2445 {Version(60), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2446 {Version(61), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2447 }
2448 ),
2449 },
2450 {
2451 Directive::OMPD_reverse,
2452 descriptor::Directive(
2453 "reverse",
2454 {
2455 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "reverse", Association::LoopNest, Category::Executable, {Clause::OMPC_apply}, {}}},
2456 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "reverse", Association::LoopNest, Category::Executable, {Clause::OMPC_apply}, {}}},
2457 }
2458 ),
2459 },
2460 {
2461 Directive::OMPD_scan,
2462 descriptor::Directive(
2463 "scan",
2464 {
2465 {Version(50), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2466 {Version(51), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2467 {Version(52), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2468 {Version(60), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {ClauseSet::ScanClauseSet1}}},
2469 {Version(61), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {ClauseSet::ScanClauseSet1}}},
2470 }
2471 ),
2472 },
2473 {
2474 Directive::OMPD_scope,
2475 descriptor::Directive(
2476 "scope",
2477 {
2478 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2479 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2480 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2481 {Version(61), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2482 }
2483 ),
2484 },
2485 {
2486 Directive::OMPD_section,
2487 descriptor::Directive(
2488 "section",
2489 {
2490 {Version(45), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2491 {Version(50), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2492 {Version(51), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2493 {Version(52), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2494 {Version(60), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2495 {Version(61), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2496 }
2497 ),
2498 },
2499 {
2500 Directive::OMPD_sections,
2501 descriptor::Directive(
2502 "sections",
2503 {
2504 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2505 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2506 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2507 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2508 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2509 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2510 }
2511 ),
2512 },
2513 {
2514 Directive::OMPD_simd,
2515 descriptor::Directive(
2516 "simd",
2517 {
2518 {Version(45), {{{Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2519 {Version(50), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2520 {Version(51), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2521 {Version(52), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2522 {Version(60), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2523 {Version(61), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamsNestable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2524 }
2525 ),
2526 },
2527 {
2528 Directive::OMPD_single,
2529 descriptor::Directive(
2530 "single",
2531 {
2532 {Version(45), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2533 {Version(50), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2534 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2535 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2536 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2537 {Version(61), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2538 }
2539 ),
2540 },
2541 {
2542 Directive::OMPD_split,
2543 descriptor::Directive(
2544 "split",
2545 {
2546 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "split", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_counts}, {}}},
2547 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "split", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_counts}, {}}},
2548 }
2549 ),
2550 },
2551 {
2552 Directive::OMPD_stripe,
2553 descriptor::Directive(
2554 "stripe",
2555 {
2556 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "stripe", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2557 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "stripe", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2558 }
2559 ),
2560 },
2561 {
2562 Directive::OMPD_target,
2563 descriptor::Directive(
2564 "target",
2565 {
2566 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private}, {}}},
2567 {Version(50), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2568 {Version(51), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2569 {Version(52), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2570 {Version(60), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_device_type, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2571 {Version(61), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_device_type, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_message, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_severity, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2572 }
2573 ),
2574 },
2575 {
2576 Directive::OMPD_target_data,
2577 descriptor::Directive(
2578 "target_data",
2579 {
2580 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_ptr}, {ClauseSet::TargetDataClauseSet1}}},
2581 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2582 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2583 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2584 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::SharingTask, Property::SimpleComposite, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_data", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_map, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_transparent, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2585 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::SharingTask, Property::SimpleComposite, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_data", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_map, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_transparent, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2586 }
2587 ),
2588 },
2589 {
2590 Directive::OMPD_target_enter_data,
2591 descriptor::Directive(
2592 "target_enter_data",
2593 {
2594 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2595 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2596 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2597 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2598 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_enter_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetEnterDataClauseSet1}}},
2599 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_enter_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetEnterDataClauseSet1}}},
2600 }
2601 ),
2602 },
2603 {
2604 Directive::OMPD_target_exit_data,
2605 descriptor::Directive(
2606 "target_exit_data",
2607 {
2608 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2609 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2610 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2611 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2612 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_exit_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetExitDataClauseSet1}}},
2613 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_exit_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetExitDataClauseSet1}}},
2614 }
2615 ),
2616 },
2617 {
2618 Directive::OMPD_target_update,
2619 descriptor::Directive(
2620 "target_update",
2621 {
2622 {Version(45), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2623 {Version(50), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2624 {Version(51), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2625 {Version(52), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2626 {Version(60), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2627 {Version(61), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2628 }
2629 ),
2630 },
2631 {
2632 Directive::OMPD_task,
2633 descriptor::Directive(
2634 "task",
2635 {
2636 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {}}},
2637 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2638 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2639 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2640 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2641 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2642 }
2643 ),
2644 },
2645 {
2646 Directive::OMPD_taskgraph,
2647 descriptor::Directive(
2648 "taskgraph",
2649 {
2650 {Version(60), {{{Property::ImplicitTaskgroup, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskgraph", Association::Block, Category::Executable, {Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_if, Clause::OMPC_nogroup, Clause::OMPC_priority}, {}}},
2651 {Version(61), {{{Property::ImplicitTaskgroup, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "taskgraph", Association::Block, Category::Executable, {Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_if, Clause::OMPC_nogroup, Clause::OMPC_priority}, {}}},
2652 }
2653 ),
2654 },
2655 {
2656 Directive::OMPD_taskgroup,
2657 descriptor::Directive(
2658 "taskgroup",
2659 {
2660 {Version(45), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {}, {}}},
2661 {Version(50), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2662 {Version(51), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2663 {Version(52), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2664 {Version(60), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2665 {Version(61), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2666 }
2667 ),
2668 },
2669 {
2670 Directive::OMPD_taskloop,
2671 descriptor::Directive(
2672 "taskloop",
2673 {
2674 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause}}},
2675 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2676 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2677 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2678 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2679 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2680 }
2681 ),
2682 },
2683 {
2684 Directive::OMPD_taskwait,
2685 descriptor::Directive(
2686 "taskwait",
2687 {
2688 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {}, {}}},
2689 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait}, {}}},
2690 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait}, {}}},
2691 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait}, {}}},
2692 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait, Clause::OMPC_replayable}, {}}},
2693 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait, Clause::OMPC_replayable}, {}}},
2694 }
2695 ),
2696 },
2697 {
2698 Directive::OMPD_taskyield,
2699 descriptor::Directive(
2700 "taskyield",
2701 {
2702 {Version(45), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2703 {Version(50), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2704 {Version(51), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2705 {Version(52), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2706 {Version(60), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2707 {Version(61), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TeamsNestable}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2708 }
2709 ),
2710 },
2711 {
2712 Directive::OMPD_teams,
2713 descriptor::Directive(
2714 "teams",
2715 {
2716 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2717 {Version(50), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2718 {Version(51), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2719 {Version(52), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2720 {Version(60), {{{Property::ContextMatching, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2721 {Version(61), {{{Property::ContextMatching, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2722 }
2723 ),
2724 },
2725 {
2726 Directive::OMPD_threadprivate,
2727 descriptor::Directive(
2728 "threadprivate",
2729 {
2730 {Version(45), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2731 {Version(50), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2732 {Version(51), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2733 {Version(52), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2734 {Version(60), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2735 {Version(61), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2736 }
2737 ),
2738 },
2739 {
2740 Directive::OMPD_tile,
2741 descriptor::Directive(
2742 "tile",
2743 {
2744 {Version(51), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_sizes}, {}}},
2745 {Version(52), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_sizes}, {}}},
2746 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2747 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_shift, Clause::OMPC_sizes}, {}}},
2748 }
2749 ),
2750 },
2751 {
2752 Directive::OMPD_unroll,
2753 descriptor::Directive(
2754 "unroll",
2755 {
2756 {Version(51), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
2757 {Version(52), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
2758 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
2759 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
2760 }
2761 ),
2762 },
2763 {
2764 Directive::OMPD_workdistribute,
2765 descriptor::Directive(
2766 "workdistribute",
2767 {
2768 {Version(60), {{{Property::Partitioned, Property::WorkDistribution}}, "workdistribute", Association::Block, Category::Executable, {}, {}}},
2769 {Version(61), {{{Property::Partitioned, Property::TeamsNestable, Property::WorkDistribution}}, "workdistribute", Association::Block, Category::Executable, {}, {}}},
2770 }
2771 ),
2772 },
2773 {
2774 Directive::OMPD_workshare,
2775 descriptor::Directive(
2776 "workshare",
2777 {
2778 {Version(45), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2779 {Version(50), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2780 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2781 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2782 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2783 {Version(61), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
2784 }
2785 ),
2786 },
2787#endif // GEN_OMP_DIRECTIVE_DESCRIPTORS
2788#ifdef GEN_OMP_MODIFIER_DESCRIPTORS
2789 {
2790 Modifier::AccessGroup,
2791 descriptor::Modifier(
2792 "access-group",
2793 {
2794 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
2795 }
2796 ),
2797 },
2798 {
2799 Modifier::AdjustOp,
2800 descriptor::Modifier(
2801 "adjust-op",
2802 {
2803 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2804 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2805 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2806 }
2807 ),
2808 },
2809 {
2810 Modifier::AlignModifier,
2811 descriptor::Modifier(
2812 "align-modifier",
2813 {
2814 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2815 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2816 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2817 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2818 }
2819 ),
2820 },
2821 {
2822 Modifier::Alignment,
2823 descriptor::Modifier(
2824 "alignment",
2825 {
2826 {Version(45), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2827 {Version(50), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2828 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2829 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2830 {Version(60), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2831 {Version(61), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
2832 }
2833 ),
2834 },
2835 {
2836 Modifier::AllocatorComplexModifier,
2837 descriptor::Modifier(
2838 "allocator-complex-modifier",
2839 {
2840 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2841 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2842 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2843 }
2844 ),
2845 },
2846 {
2847 Modifier::AllocatorSimpleModifier,
2848 descriptor::Modifier(
2849 "allocator-simple-modifier",
2850 {
2851 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2852 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2853 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2854 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2855 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
2856 }
2857 ),
2858 },
2859 {
2860 Modifier::AlwaysModifier,
2861 descriptor::Modifier(
2862 "always-modifier",
2863 {
2864 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2865 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2866 }
2867 ),
2868 },
2869 {
2870 Modifier::AttachModifier,
2871 descriptor::Modifier(
2872 "attach-modifier",
2873 {
2874 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2875 }
2876 ),
2877 },
2878 {
2879 Modifier::AutomapModifier,
2880 descriptor::Modifier(
2881 "automap-modifier",
2882 {
2883 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
2884 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
2885 }
2886 ),
2887 },
2888 {
2889 Modifier::ChunkModifier,
2890 descriptor::Modifier(
2891 "chunk-modifier",
2892 {
2893 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2894 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2895 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2896 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2897 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2898 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2899 }
2900 ),
2901 },
2902 {
2903 Modifier::CloseModifier,
2904 descriptor::Modifier(
2905 "close-modifier",
2906 {
2907 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2908 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2909 }
2910 ),
2911 },
2912 {
2913 Modifier::ContextSelector,
2914 descriptor::Modifier(
2915 "context-selector",
2916 {
2917 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
2918 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
2919 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
2920 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
2921 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
2922 }
2923 ),
2924 },
2925 {
2926 Modifier::DefaultModifier,
2927 descriptor::Modifier(
2928 "default-modifier",
2929 {
2930 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2931 }
2932 ),
2933 },
2934 {
2935 Modifier::DeleteModifier,
2936 descriptor::Modifier(
2937 "delete-modifier",
2938 {
2939 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2940 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2941 }
2942 ),
2943 },
2944 {
2945 Modifier::DependenceType,
2946 descriptor::Modifier(
2947 "dependence-type",
2948 {
2949 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
2950 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
2951 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
2952 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
2953 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
2954 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
2955 }
2956 ),
2957 },
2958 {
2959 Modifier::DepinfoModifier,
2960 descriptor::Modifier(
2961 "depinfo-modifier",
2962 {
2963 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2964 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2965 }
2966 ),
2967 },
2968 {
2969 Modifier::DepobjModifier,
2970 descriptor::Modifier(
2971 "depobj-modifier",
2972 {
2973 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
2974 }
2975 ),
2976 },
2977 {
2978 Modifier::DeviceModifier,
2979 descriptor::Modifier(
2980 "device-modifier",
2981 {
2982 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
2983 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
2984 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
2985 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
2986 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
2987 }
2988 ),
2989 },
2990 {
2991 Modifier::DimsModifier,
2992 descriptor::Modifier(
2993 "dims-modifier",
2994 {
2995 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
2996 }
2997 ),
2998 },
2999 {
3000 Modifier::DirectiveNameModifier,
3001 descriptor::Modifier(
3002 "directive-name-modifier",
3003 {
3004 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3005 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3006 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3007 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3008 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_adjust_args, Clause::OMPC_affinity, Clause::OMPC_align, Clause::OMPC_aligned, Clause::OMPC_allocate, Clause::OMPC_allocator, Clause::OMPC_append_args, Clause::OMPC_apply, Clause::OMPC_at, Clause::OMPC_atomic_default_mem_order, Clause::OMPC_bind, Clause::OMPC_cancellation_construct_type, Clause::OMPC_capture, Clause::OMPC_collapse, Clause::OMPC_collector, Clause::OMPC_combiner, Clause::OMPC_compare, Clause::OMPC_contains, Clause::OMPC_copyin, Clause::OMPC_copyprivate, Clause::OMPC_counts, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_device_safesync, Clause::OMPC_device_type, Clause::OMPC_dist_schedule, Clause::OMPC_doacross, Clause::OMPC_dynamic_allocators, Clause::OMPC_enter, Clause::OMPC_exclusive, Clause::OMPC_fail, Clause::OMPC_filter, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_from, Clause::OMPC_full, Clause::OMPC_grainsize, Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_has_device_addr, Clause::OMPC_hint, Clause::OMPC_holds, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_inbranch, Clause::OMPC_inclusive, Clause::OMPC_indirect, Clause::OMPC_induction, Clause::OMPC_inductor, Clause::OMPC_init, Clause::OMPC_init_complete, Clause::OMPC_initializer, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_link, Clause::OMPC_local, Clause::OMPC_looprange, Clause::OMPC_map, Clause::OMPC_match, Clause::OMPC_memscope, Clause::OMPC_mergeable, Clause::OMPC_message, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism, Clause::OMPC_nocontext, Clause::OMPC_nogroup, Clause::OMPC_nontemporal, Clause::OMPC_notinbranch, Clause::OMPC_novariants, Clause::OMPC_nowait, Clause::OMPC_num_tasks, Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_ompx_bare, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_otherwise, Clause::OMPC_partial, Clause::OMPC_permutation, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_read, Clause::OMPC_reduction, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_replayable, Clause::OMPC_reverse_offload, Clause::OMPC_safelen, Clause::OMPC_safesync, Clause::OMPC_schedule, Clause::OMPC_self_maps, Clause::OMPC_seq_cst, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_simd, Clause::OMPC_simdlen, Clause::OMPC_sizes, Clause::OMPC_task_reduction, Clause::OMPC_thread_limit, Clause::OMPC_threads, Clause::OMPC_threadset, Clause::OMPC_to, Clause::OMPC_transparent, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory, Clause::OMPC_uniform, Clause::OMPC_untied, Clause::OMPC_update, Clause::OMPC_update_depend_objects, Clause::OMPC_use, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr, Clause::OMPC_uses_allocators, Clause::OMPC_weak, Clause::OMPC_when, Clause::OMPC_write}}},
3009 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_adjust_args, Clause::OMPC_affinity, Clause::OMPC_align, Clause::OMPC_aligned, Clause::OMPC_allocate, Clause::OMPC_allocator, Clause::OMPC_append_args, Clause::OMPC_apply, Clause::OMPC_at, Clause::OMPC_atomic_default_mem_order, Clause::OMPC_bind, Clause::OMPC_cancellation_construct_type, Clause::OMPC_capture, Clause::OMPC_collapse, Clause::OMPC_collector, Clause::OMPC_combiner, Clause::OMPC_compare, Clause::OMPC_contains, Clause::OMPC_copyin, Clause::OMPC_copyprivate, Clause::OMPC_counts, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_depth, Clause::OMPC_destroy, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_device_safesync, Clause::OMPC_device_type, Clause::OMPC_dist_schedule, Clause::OMPC_doacross, Clause::OMPC_dyn_groupprivate, Clause::OMPC_dynamic_allocators, Clause::OMPC_enter, Clause::OMPC_exclusive, Clause::OMPC_fail, Clause::OMPC_filter, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_from, Clause::OMPC_full, Clause::OMPC_grainsize, Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_has_device_addr, Clause::OMPC_hint, Clause::OMPC_holds, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_inbranch, Clause::OMPC_inclusive, Clause::OMPC_indirect, Clause::OMPC_induction, Clause::OMPC_inductor, Clause::OMPC_init, Clause::OMPC_init_complete, Clause::OMPC_initializer, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_link, Clause::OMPC_local, Clause::OMPC_looprange, Clause::OMPC_map, Clause::OMPC_match, Clause::OMPC_memscope, Clause::OMPC_mergeable, Clause::OMPC_message, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism, Clause::OMPC_nocontext, Clause::OMPC_nogroup, Clause::OMPC_nontemporal, Clause::OMPC_notinbranch, Clause::OMPC_novariants, Clause::OMPC_nowait, Clause::OMPC_num_tasks, Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_ompx_bare, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_otherwise, Clause::OMPC_partial, Clause::OMPC_permutation, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_read, Clause::OMPC_reduction, Clause::OMPC_reduction_kind, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_replayable, Clause::OMPC_reverse_offload, Clause::OMPC_safelen, Clause::OMPC_safesync, Clause::OMPC_schedule, Clause::OMPC_self_maps, Clause::OMPC_seq_cst, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_shift, Clause::OMPC_simd, Clause::OMPC_simdlen, Clause::OMPC_sizes, Clause::OMPC_task_reduction, Clause::OMPC_thread_limit, Clause::OMPC_threads, Clause::OMPC_threadset, Clause::OMPC_to, Clause::OMPC_transparent, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory, Clause::OMPC_uniform, Clause::OMPC_untied, Clause::OMPC_update, Clause::OMPC_update_depend_objects, Clause::OMPC_use, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr, Clause::OMPC_uses_allocators, Clause::OMPC_weak, Clause::OMPC_when, Clause::OMPC_write}}},
3010 }
3011 ),
3012 },
3013 {
3014 Modifier::Expectation,
3015 descriptor::Modifier(
3016 "expectation",
3017 {
3018 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
3019 }
3020 ),
3021 },
3022 {
3023 Modifier::Fallback,
3024 descriptor::Modifier(
3025 "fallback",
3026 {
3027 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_use_device_ptr}}},
3028 }
3029 ),
3030 },
3031 {
3032 Modifier::FallbackModifier,
3033 descriptor::Modifier(
3034 "fallback-modifier",
3035 {
3036 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
3037 }
3038 ),
3039 },
3040 {
3041 Modifier::InductionIdentifier,
3042 descriptor::Modifier(
3043 "induction-identifier",
3044 {
3045 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
3046 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
3047 }
3048 ),
3049 },
3050 {
3051 Modifier::InductionModifier,
3052 descriptor::Modifier(
3053 "induction-modifier",
3054 {
3055 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
3056 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
3057 }
3058 ),
3059 },
3060 {
3061 Modifier::InscanModifier,
3062 descriptor::Modifier(
3063 "inscan-modifier",
3064 {
3065 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3066 }
3067 ),
3068 },
3069 {
3070 Modifier::InteropType,
3071 descriptor::Modifier(
3072 "interop-type",
3073 {
3074 {Version(51), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
3075 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
3076 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, {Clause::OMPC_init}}},
3077 }
3078 ),
3079 },
3080 {
3081 Modifier::Iterator,
3082 descriptor::Modifier(
3083 "iterator",
3084 {
3085 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend}}},
3086 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3087 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3088 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3089 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3090 }
3091 ),
3092 },
3093 {
3094 Modifier::LastprivateModifier,
3095 descriptor::Modifier(
3096 "lastprivate-modifier",
3097 {
3098 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3099 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3100 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3101 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3102 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3103 }
3104 ),
3105 },
3106 {
3107 Modifier::LinearModifier,
3108 descriptor::Modifier(
3109 "linear-modifier",
3110 {
3111 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3112 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3113 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3114 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3115 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3116 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3117 }
3118 ),
3119 },
3120 {
3121 Modifier::LinearStep,
3122 descriptor::Modifier(
3123 "linear-step",
3124 {
3125 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3126 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3127 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3128 }
3129 ),
3130 },
3131 {
3132 Modifier::LocModifier,
3133 descriptor::Modifier(
3134 "loc-modifier",
3135 {
3136 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3137 }
3138 ),
3139 },
3140 {
3141 Modifier::LoopModifier,
3142 descriptor::Modifier(
3143 "loop-modifier",
3144 {
3145 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
3146 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
3147 }
3148 ),
3149 },
3150 {
3151 Modifier::LowerBound,
3152 descriptor::Modifier(
3153 "lower-bound",
3154 {
3155 {Version(50), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3156 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3157 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3158 {Version(60), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3159 {Version(61), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3160 }
3161 ),
3162 },
3163 {
3164 Modifier::MapType,
3165 descriptor::Modifier(
3166 "map-type",
3167 {
3168 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3169 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3170 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3171 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3172 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3173 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3174 }
3175 ),
3176 },
3177 {
3178 Modifier::MapTypeModifier,
3179 descriptor::Modifier(
3180 "map-type-modifier",
3181 {
3182 {Version(45), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3183 {Version(50), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3184 {Version(51), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3185 {Version(52), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3186 }
3187 ),
3188 },
3189 {
3190 Modifier::Mapper,
3191 descriptor::Modifier(
3192 "mapper",
3193 {
3194 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3195 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3196 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3197 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3198 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3199 }
3200 ),
3201 },
3202 {
3203 Modifier::MemSpace,
3204 descriptor::Modifier(
3205 "mem-space",
3206 {
3207 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3208 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3209 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3210 }
3211 ),
3212 },
3213 {
3214 Modifier::MotionModifier,
3215 descriptor::Modifier(
3216 "motion-modifier",
3217 {
3218 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
3219 }
3220 ),
3221 },
3222 {
3223 Modifier::NeedDeviceAddr,
3224 descriptor::Modifier(
3225 "need-device-addr",
3226 {
3227 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3228 }
3229 ),
3230 },
3231 {
3232 Modifier::NeedDevicePtr,
3233 descriptor::Modifier(
3234 "need-device-ptr",
3235 {
3236 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3237 }
3238 ),
3239 },
3240 {
3241 Modifier::NoncommutativeModifier,
3242 descriptor::Modifier(
3243 "noncommutative-modifier",
3244 {
3245 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3246 }
3247 ),
3248 },
3249 {
3250 Modifier::Nothing,
3251 descriptor::Modifier(
3252 "nothing",
3253 {
3254 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3255 }
3256 ),
3257 },
3258 {
3259 Modifier::OmpxHoldModifier,
3260 descriptor::Modifier(
3261 "ompx-hold-modifier",
3262 {
3263 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3264 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3265 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3266 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3267 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3268 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3269 }
3270 ),
3271 },
3272 {
3273 Modifier::OptionalModifier,
3274 descriptor::Modifier(
3275 "optional-modifier",
3276 {
3277 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3278 }
3279 ),
3280 },
3281 {
3282 Modifier::OrderModifier,
3283 descriptor::Modifier(
3284 "order-modifier",
3285 {
3286 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3287 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3288 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3289 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3290 }
3291 ),
3292 },
3293 {
3294 Modifier::OrderingModifier,
3295 descriptor::Modifier(
3296 "ordering-modifier",
3297 {
3298 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3299 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3300 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3301 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3302 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3303 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3304 }
3305 ),
3306 },
3307 {
3308 Modifier::OriginalSharingModifier,
3309 descriptor::Modifier(
3310 "original-sharing-modifier",
3311 {
3312 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3313 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3314 }
3315 ),
3316 },
3317 {
3318 Modifier::PerThreadModifier,
3319 descriptor::Modifier(
3320 "per-thread-modifier",
3321 {
3322 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3323 }
3324 ),
3325 },
3326 {
3327 Modifier::PreferType,
3328 descriptor::Modifier(
3329 "prefer-type",
3330 {
3331 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3332 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3333 }
3334 ),
3335 },
3336 {
3337 Modifier::Prescriptiveness,
3338 descriptor::Modifier(
3339 "prescriptiveness",
3340 {
3341 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3342 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3343 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks, Clause::OMPC_num_threads}}},
3344 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3345 }
3346 ),
3347 },
3348 {
3349 Modifier::PrescriptivenessModifier,
3350 descriptor::Modifier(
3351 "prescriptiveness-modifier",
3352 {
3353 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
3354 }
3355 ),
3356 },
3357 {
3358 Modifier::PresentModifier,
3359 descriptor::Modifier(
3360 "present-modifier",
3361 {
3362 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3363 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3364 }
3365 ),
3366 },
3367 {
3368 Modifier::ReductionIdentifier,
3369 descriptor::Modifier(
3370 "reduction-identifier",
3371 {
3372 {Version(45), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_reduction}}},
3373 {Version(50), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3374 {Version(51), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3375 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3376 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3377 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3378 }
3379 ),
3380 },
3381 {
3382 Modifier::ReductionModifier,
3383 descriptor::Modifier(
3384 "reduction-modifier",
3385 {
3386 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3387 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3388 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3389 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3390 }
3391 ),
3392 },
3393 {
3394 Modifier::RefModifier,
3395 descriptor::Modifier(
3396 "ref-modifier",
3397 {
3398 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3399 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3400 }
3401 ),
3402 },
3403 {
3404 Modifier::Saved,
3405 descriptor::Modifier(
3406 "saved",
3407 {
3408 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
3409 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
3410 }
3411 ),
3412 },
3413 {
3414 Modifier::ScaledModifier,
3415 descriptor::Modifier(
3416 "scaled-modifier",
3417 {
3418 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simdlen}}},
3419 }
3420 ),
3421 },
3422 {
3423 Modifier::SelfModifier,
3424 descriptor::Modifier(
3425 "self-modifier",
3426 {
3427 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3428 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3429 }
3430 ),
3431 },
3432 {
3433 Modifier::SizesSelector,
3434 descriptor::Modifier(
3435 "sizes-selector",
3436 {
3437 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_sizes}}},
3438 }
3439 ),
3440 },
3441 {
3442 Modifier::StepComplexModifier,
3443 descriptor::Modifier(
3444 "step-complex-modifier",
3445 {
3446 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3447 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3448 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3449 }
3450 ),
3451 },
3452 {
3453 Modifier::StepModifier,
3454 descriptor::Modifier(
3455 "step-modifier",
3456 {
3457 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
3458 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
3459 }
3460 ),
3461 },
3462 {
3463 Modifier::StepSimpleModifier,
3464 descriptor::Modifier(
3465 "step-simple-modifier",
3466 {
3467 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3468 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3469 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3470 }
3471 ),
3472 },
3473 {
3474 Modifier::TargetType,
3475 descriptor::Modifier(
3476 "target-type",
3477 {
3478 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3479 }
3480 ),
3481 },
3482 {
3483 Modifier::TargetsyncType,
3484 descriptor::Modifier(
3485 "targetsync-type",
3486 {
3487 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3488 }
3489 ),
3490 },
3491 {
3492 Modifier::TaskDependenceType,
3493 descriptor::Modifier(
3494 "task-dependence-type",
3495 {
3496 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3497 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3498 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3499 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3500 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
3501 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
3502 }
3503 ),
3504 },
3505 {
3506 Modifier::TaskModifier,
3507 descriptor::Modifier(
3508 "task-modifier",
3509 {
3510 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3511 }
3512 ),
3513 },
3514 {
3515 Modifier::TraitsArray,
3516 descriptor::Modifier(
3517 "traits-array",
3518 {
3519 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3520 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3521 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3522 }
3523 ),
3524 },
3525 {
3526 Modifier::VariableCategory,
3527 descriptor::Modifier(
3528 "variable-category",
3529 {
3530 {Version(45), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_defaultmap}}},
3531 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3532 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3533 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3534 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3535 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3536 }
3537 ),
3538 },
3539#endif // GEN_OMP_MODIFIER_DESCRIPTORS
3540#ifdef GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
3541 {
3542 ModifierSet::AdjustOp,
3543 descriptor::ModifierSet(
3544 "adjust-op",
3545 {
3546 {Version(61), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Modifier::NeedDeviceAddr, Modifier::NeedDevicePtr, Modifier::Nothing}, {Clause::OMPC_adjust_args}}},
3547 }
3548 ),
3549 },
3550 {
3551 ModifierSet::DependListType,
3552 descriptor::ModifierSet(
3553 "depend-list-type",
3554 {
3555 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DepobjModifier, Modifier::LocModifier}, {Clause::OMPC_depend}}},
3556 }
3557 ),
3558 },
3559 {
3560 ModifierSet::InteropType,
3561 descriptor::ModifierSet(
3562 "interop-type",
3563 {
3564 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::TargetType, Modifier::TargetsyncType}, {Clause::OMPC_init}}},
3565 }
3566 ),
3567 },
3568 {
3569 ModifierSet::MapTypeModifying,
3570 descriptor::ModifierSet(
3571 "map-type-modifying",
3572 {
3573 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::AlwaysModifier, Modifier::CloseModifier, Modifier::DeleteModifier, Modifier::PresentModifier, Modifier::SelfModifier}, {Clause::OMPC_map}}},
3574 }
3575 ),
3576 },
3577 {
3578 ModifierSet::ReductionType,
3579 descriptor::ModifierSet(
3580 "reduction-type",
3581 {
3582 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DefaultModifier, Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::TaskModifier}, {Clause::OMPC_reduction}}},
3583 }
3584 ),
3585 },
3586 {
3587 ModifierSet::VariableSelector,
3588 descriptor::ModifierSet(
3589 "variable-selector",
3590 {
3591 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Modifier::OptionalModifier, Modifier::VariableCategory}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3592 }
3593 ),
3594 },
3595#endif // GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
3596#ifdef GEN_OMP_MODIFIER_SET_DESCRIPTORS
3597 {
3598 ModifierSet::DependModifierSet1,
3599 descriptor::ModifierSet(
3600 "depend_modifier_set_1",
3601 {
3602 {Version(45), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3603 {Version(50), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3604 {Version(51), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3605 {Version(61), {{{Property::Exclusive}}, {Modifier::DepobjModifier, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3606 }
3607 ),
3608 },
3609 {
3610 ModifierSet::NumTeamsModifierSet1,
3611 descriptor::ModifierSet(
3612 "num_teams_modifier_set_1",
3613 {
3614 {Version(61), {{{Property::Exclusive}}, {Modifier::DimsModifier, Modifier::LowerBound}, {Clause::OMPC_num_teams}}},
3615 }
3616 ),
3617 },
3618 {
3619 ModifierSet::ReductionModifierSet1,
3620 descriptor::ModifierSet(
3621 "reduction_modifier_set_1",
3622 {
3623 {Version(61), {{{Property::Exclusive}}, {Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::PerThreadModifier}, {Clause::OMPC_reduction}}},
3624 }
3625 ),
3626 },
3627#endif // GEN_OMP_MODIFIER_SET_DESCRIPTORS
3628 // clang-format on