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_capture,
188 descriptor::Clause(
189 "capture",
190 {
191 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
192 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
193 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
194 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
195 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
196 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
197 }
198 ),
199 },
200 {
201 Clause::OMPC_collapse,
202 descriptor::Clause(
203 "collapse",
204 {
205 {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, {}, {}}},
206 {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, {}, {}}},
207 {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, {}, {}}},
208 {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, {}, {}}},
209 {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}, {}}},
210 {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}, {}}},
211 }
212 ),
213 },
214 {
215 Clause::OMPC_collector,
216 descriptor::Clause(
217 "collector",
218 {
219 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
220 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
221 }
222 ),
223 },
224 {
225 Clause::OMPC_combiner,
226 descriptor::Clause(
227 "combiner",
228 {
229 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
230 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
231 }
232 ),
233 },
234 {
235 Clause::OMPC_compare,
236 descriptor::Clause(
237 "compare",
238 {
239 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
240 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
241 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
242 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
243 }
244 ),
245 },
246 {
247 Clause::OMPC_contains,
248 descriptor::Clause(
249 "contains",
250 {
251 {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, {}, {}}},
252 {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, {}, {}}},
253 {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}, {}}},
254 {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}, {}}},
255 }
256 ),
257 },
258 {
259 Clause::OMPC_copyin,
260 descriptor::Clause(
261 "copyin",
262 {
263 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
264 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
265 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
266 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
267 {Version(60), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
268 {Version(61), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
269 }
270 ),
271 },
272 {
273 Clause::OMPC_copyprivate,
274 descriptor::Clause(
275 "copyprivate",
276 {
277 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
278 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
279 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
280 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
281 {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}, {}}},
282 {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}, {}}},
283 }
284 ),
285 },
286 {
287 Clause::OMPC_counts,
288 descriptor::Clause(
289 "counts",
290 {
291 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
292 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
293 }
294 ),
295 },
296 {
297 Clause::OMPC_default,
298 descriptor::Clause(
299 "default",
300 {
301 {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, {}, {}}},
302 {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}, {}}},
303 {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}, {}}},
304 {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}, {}}},
305 {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}, {}}},
306 {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}}},
307 }
308 ),
309 },
310 {
311 Clause::OMPC_default_variant,
312 descriptor::Clause(
313 "default-variant",
314 {
315 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "default-variant", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
316 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "default-variant", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
317 }
318 ),
319 },
320 {
321 Clause::OMPC_defaultmap,
322 descriptor::Clause(
323 "defaultmap",
324 {
325 {Version(45), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
326 {Version(50), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
327 {Version(51), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
328 {Version(52), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
329 {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}, {}}},
330 {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}}},
331 }
332 ),
333 },
334 {
335 Clause::OMPC_depend,
336 descriptor::Clause(
337 "depend",
338 {
339 {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}}},
340 {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}}},
341 {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}}},
342 {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}, {}}},
343 {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}, {}}},
344 {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}}},
345 }
346 ),
347 },
348 {
349 Clause::OMPC_depth,
350 descriptor::Clause(
351 "depth",
352 {
353 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "depth", {Directive::OMPD_flatten, Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
354 }
355 ),
356 },
357 {
358 Clause::OMPC_destroy,
359 descriptor::Clause(
360 "destroy",
361 {
362 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
363 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
364 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
365 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
366 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
367 }
368 ),
369 },
370 {
371 Clause::OMPC_detach,
372 descriptor::Clause(
373 "detach",
374 {
375 {Version(50), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
376 {Version(51), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
377 {Version(52), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
378 {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}, {}}},
379 {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}, {}}},
380 }
381 ),
382 },
383 {
384 Clause::OMPC_device,
385 descriptor::Clause(
386 "device",
387 {
388 {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, {}, {}}},
389 {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}, {}}},
390 {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}, {}}},
391 {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}, {}}},
392 {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}, {}}},
393 {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}, {}}},
394 }
395 ),
396 },
397 {
398 Clause::OMPC_device_safesync,
399 descriptor::Clause(
400 "device_safesync",
401 {
402 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
403 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
404 }
405 ),
406 },
407 {
408 Clause::OMPC_device_type,
409 descriptor::Clause(
410 "device_type",
411 {
412 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
413 {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, {}, {}}},
414 {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, {}, {}}},
415 {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}, {}}},
416 {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}, {}}},
417 }
418 ),
419 },
420 {
421 Clause::OMPC_dist_schedule,
422 descriptor::Clause(
423 "dist_schedule",
424 {
425 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
426 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
427 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
428 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
429 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
430 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
431 }
432 ),
433 },
434 {
435 Clause::OMPC_doacross,
436 descriptor::Clause(
437 "doacross",
438 {
439 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType}, {}}},
440 {Version(60), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
441 {Version(61), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
442 }
443 ),
444 },
445 {
446 Clause::OMPC_dyn_groupprivate,
447 descriptor::Clause(
448 "dyn_groupprivate",
449 {
450 {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}, {}}},
451 }
452 ),
453 },
454 {
455 Clause::OMPC_dynamic_allocators,
456 descriptor::Clause(
457 "dynamic_allocators",
458 {
459 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
460 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
461 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
462 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
463 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
464 }
465 ),
466 },
467 {
468 Clause::OMPC_enter,
469 descriptor::Clause(
470 "enter",
471 {
472 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "enter", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
473 {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}, {}}},
474 {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}, {}}},
475 }
476 ),
477 },
478 {
479 Clause::OMPC_exclusive,
480 descriptor::Clause(
481 "exclusive",
482 {
483 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
484 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
485 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
486 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
487 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
488 }
489 ),
490 },
491 {
492 Clause::OMPC_fail,
493 descriptor::Clause(
494 "fail",
495 {
496 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
497 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
498 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
499 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
500 }
501 ),
502 },
503 {
504 Clause::OMPC_filter,
505 descriptor::Clause(
506 "filter",
507 {
508 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
509 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
510 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
511 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
512 }
513 ),
514 },
515 {
516 Clause::OMPC_final,
517 descriptor::Clause(
518 "final",
519 {
520 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
521 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
522 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
523 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
524 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
525 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
526 }
527 ),
528 },
529 {
530 Clause::OMPC_firstprivate,
531 descriptor::Clause(
532 "firstprivate",
533 {
534 {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, {}, {}}},
535 {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, {}, {}}},
536 {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, {}, {}}},
537 {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, {}, {}}},
538 {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}, {}}},
539 {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}, {}}},
540 }
541 ),
542 },
543 {
544 Clause::OMPC_from,
545 descriptor::Clause(
546 "from",
547 {
548 {Version(45), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
549 {Version(50), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Mapper}, {}}},
550 {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}, {}}},
551 {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}, {}}},
552 {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}, {}}},
553 {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}, {}}},
554 }
555 ),
556 },
557 {
558 Clause::OMPC_full,
559 descriptor::Clause(
560 "full",
561 {
562 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
563 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
564 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
565 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
566 }
567 ),
568 },
569 {
570 Clause::OMPC_grainsize,
571 descriptor::Clause(
572 "grainsize",
573 {
574 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
575 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
576 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
577 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
578 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
579 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
580 }
581 ),
582 },
583 {
584 Clause::OMPC_graph_id,
585 descriptor::Clause(
586 "graph_id",
587 {
588 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
589 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
590 }
591 ),
592 },
593 {
594 Clause::OMPC_graph_reset,
595 descriptor::Clause(
596 "graph_reset",
597 {
598 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
599 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
600 }
601 ),
602 },
603 {
604 Clause::OMPC_has_device_addr,
605 descriptor::Clause(
606 "has_device_addr",
607 {
608 {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, {}, {}}},
609 {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, {}, {}}},
610 {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}, {}}},
611 {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}, {}}},
612 }
613 ),
614 },
615 {
616 Clause::OMPC_hint,
617 descriptor::Clause(
618 "hint",
619 {
620 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
621 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
622 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
623 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
624 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
625 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
626 }
627 ),
628 },
629 {
630 Clause::OMPC_holds,
631 descriptor::Clause(
632 "holds",
633 {
634 {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, {}, {}}},
635 {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, {}, {}}},
636 {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}, {}}},
637 {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}, {}}},
638 }
639 ),
640 },
641 {
642 Clause::OMPC_if,
643 descriptor::Clause(
644 "if",
645 {
646 {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}, {}}},
647 {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}, {}}},
648 {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}, {}}},
649 {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}, {}}},
650 {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}, {}}},
651 {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}, {}}},
652 }
653 ),
654 },
655 {
656 Clause::OMPC_in_reduction,
657 descriptor::Clause(
658 "in_reduction",
659 {
660 {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}, {}}},
661 {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}, {}}},
662 {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}, {}}},
663 {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}, {}}},
664 {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}, {}}},
665 }
666 ),
667 },
668 {
669 Clause::OMPC_inbranch,
670 descriptor::Clause(
671 "inbranch",
672 {
673 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
674 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
675 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
676 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
677 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
678 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
679 }
680 ),
681 },
682 {
683 Clause::OMPC_inclusive,
684 descriptor::Clause(
685 "inclusive",
686 {
687 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
688 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
689 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
690 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
691 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
692 }
693 ),
694 },
695 {
696 Clause::OMPC_indirect,
697 descriptor::Clause(
698 "indirect",
699 {
700 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
701 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
702 {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}, {}}},
703 {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}, {}}},
704 }
705 ),
706 },
707 {
708 Clause::OMPC_induction,
709 descriptor::Clause(
710 "induction",
711 {
712 {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}, {}}},
713 {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}, {}}},
714 }
715 ),
716 },
717 {
718 Clause::OMPC_inductor,
719 descriptor::Clause(
720 "inductor",
721 {
722 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
723 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
724 }
725 ),
726 },
727 {
728 Clause::OMPC_init,
729 descriptor::Clause(
730 "init",
731 {
732 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
733 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
734 {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}, {}}},
735 {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}}},
736 }
737 ),
738 },
739 {
740 Clause::OMPC_init_complete,
741 descriptor::Clause(
742 "init_complete",
743 {
744 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
745 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
746 }
747 ),
748 },
749 {
750 Clause::OMPC_initializer,
751 descriptor::Clause(
752 "initializer",
753 {
754 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
755 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
756 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
757 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
758 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
759 }
760 ),
761 },
762 {
763 Clause::OMPC_interop,
764 descriptor::Clause(
765 "interop",
766 {
767 {Version(60), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
768 {Version(61), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
769 }
770 ),
771 },
772 {
773 Clause::OMPC_is_device_ptr,
774 descriptor::Clause(
775 "is_device_ptr",
776 {
777 {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, {}, {}}},
778 {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, {}, {}}},
779 {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, {}, {}}},
780 {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, {}, {}}},
781 {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}, {}}},
782 {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}, {}}},
783 }
784 ),
785 },
786 {
787 Clause::OMPC_lastprivate,
788 descriptor::Clause(
789 "lastprivate",
790 {
791 {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, {}, {}}},
792 {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}, {}}},
793 {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}, {}}},
794 {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}, {}}},
795 {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}, {}}},
796 {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}, {}}},
797 }
798 ),
799 },
800 {
801 Clause::OMPC_linear,
802 descriptor::Clause(
803 "linear",
804 {
805 {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}, {}}},
806 {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}, {}}},
807 {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}, {}}},
808 {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}, {}}},
809 {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}, {}}},
810 {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}, {}}},
811 }
812 ),
813 },
814 {
815 Clause::OMPC_link,
816 descriptor::Clause(
817 "link",
818 {
819 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
820 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
821 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
822 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
823 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
824 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
825 }
826 ),
827 },
828 {
829 Clause::OMPC_local,
830 descriptor::Clause(
831 "local",
832 {
833 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
834 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
835 }
836 ),
837 },
838 {
839 Clause::OMPC_looprange,
840 descriptor::Clause(
841 "looprange",
842 {
843 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
844 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
845 }
846 ),
847 },
848 {
849 Clause::OMPC_map,
850 descriptor::Clause(
851 "map",
852 {
853 {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}, {}}},
854 {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}, {}}},
855 {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}, {}}},
856 {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}, {}}},
857 {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}, {}}},
858 {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}}},
859 }
860 ),
861 },
862 {
863 Clause::OMPC_match,
864 descriptor::Clause(
865 "match",
866 {
867 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
868 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
869 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
870 {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}, {}}},
871 {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}, {}}},
872 }
873 ),
874 },
875 {
876 Clause::OMPC_memscope,
877 descriptor::Clause(
878 "memscope",
879 {
880 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
881 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
882 }
883 ),
884 },
885 {
886 Clause::OMPC_mergeable,
887 descriptor::Clause(
888 "mergeable",
889 {
890 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
891 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
892 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
893 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
894 {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}, {}}},
895 {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}, {}}},
896 }
897 ),
898 },
899 {
900 Clause::OMPC_message,
901 descriptor::Clause(
902 "message",
903 {
904 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
905 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
906 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
907 {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}, {}}},
908 }
909 ),
910 },
911 {
912 Clause::OMPC_no_openmp,
913 descriptor::Clause(
914 "no_openmp",
915 {
916 {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, {}, {}}},
917 {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, {}, {}}},
918 {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}, {}}},
919 {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}, {}}},
920 }
921 ),
922 },
923 {
924 Clause::OMPC_no_openmp_constructs,
925 descriptor::Clause(
926 "no_openmp_constructs",
927 {
928 {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}, {}}},
929 {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}, {}}},
930 }
931 ),
932 },
933 {
934 Clause::OMPC_no_openmp_routines,
935 descriptor::Clause(
936 "no_openmp_routines",
937 {
938 {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, {}, {}}},
939 {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, {}, {}}},
940 {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}, {}}},
941 {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}, {}}},
942 }
943 ),
944 },
945 {
946 Clause::OMPC_no_parallelism,
947 descriptor::Clause(
948 "no_parallelism",
949 {
950 {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, {}, {}}},
951 {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, {}, {}}},
952 {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}, {}}},
953 {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}, {}}},
954 }
955 ),
956 },
957 {
958 Clause::OMPC_nocontext,
959 descriptor::Clause(
960 "nocontext",
961 {
962 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
963 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
964 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
965 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
966 }
967 ),
968 },
969 {
970 Clause::OMPC_nogroup,
971 descriptor::Clause(
972 "nogroup",
973 {
974 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
975 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
976 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
977 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
978 {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}, {}}},
979 {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}, {}}},
980 }
981 ),
982 },
983 {
984 Clause::OMPC_nontemporal,
985 descriptor::Clause(
986 "nontemporal",
987 {
988 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
989 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
990 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
991 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
992 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
993 }
994 ),
995 },
996 {
997 Clause::OMPC_notinbranch,
998 descriptor::Clause(
999 "notinbranch",
1000 {
1001 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1002 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1003 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1004 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1005 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1006 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1007 }
1008 ),
1009 },
1010 {
1011 Clause::OMPC_novariants,
1012 descriptor::Clause(
1013 "novariants",
1014 {
1015 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1016 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1017 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1018 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1019 }
1020 ),
1021 },
1022 {
1023 Clause::OMPC_nowait,
1024 descriptor::Clause(
1025 "nowait",
1026 {
1027 {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}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1028 {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, {}, {}}},
1029 {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, {}, {}}},
1030 {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, {}, {}}},
1031 {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}, {}}},
1032 {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}, {}}},
1033 }
1034 ),
1035 },
1036 {
1037 Clause::OMPC_num_tasks,
1038 descriptor::Clause(
1039 "num_tasks",
1040 {
1041 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1042 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1043 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1044 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1045 {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}, {}}},
1046 {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}, {}}},
1047 }
1048 ),
1049 },
1050 {
1051 Clause::OMPC_num_teams,
1052 descriptor::Clause(
1053 "num_teams",
1054 {
1055 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1056 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1057 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1058 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1059 {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}, {}}},
1060 {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}}},
1061 }
1062 ),
1063 },
1064 {
1065 Clause::OMPC_num_threads,
1066 descriptor::Clause(
1067 "num_threads",
1068 {
1069 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1070 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1071 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1072 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1073 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1074 {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}, {}}},
1075 }
1076 ),
1077 },
1078 {
1079 Clause::OMPC_order,
1080 descriptor::Clause(
1081 "order",
1082 {
1083 {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, {}, {}}},
1084 {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}, {}}},
1085 {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}, {}}},
1086 {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}, {}}},
1087 {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}, {}}},
1088 }
1089 ),
1090 },
1091 {
1092 Clause::OMPC_ordered,
1093 descriptor::Clause(
1094 "ordered",
1095 {
1096 {Version(45), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1097 {Version(50), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1098 {Version(51), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1099 {Version(52), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1100 {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}, {}}},
1101 {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}, {}}},
1102 }
1103 ),
1104 },
1105 {
1106 Clause::OMPC_otherwise,
1107 descriptor::Clause(
1108 "otherwise",
1109 {
1110 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1111 {Version(60), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1112 {Version(61), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1113 }
1114 ),
1115 },
1116 {
1117 Clause::OMPC_partial,
1118 descriptor::Clause(
1119 "partial",
1120 {
1121 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1122 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1123 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1124 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1125 }
1126 ),
1127 },
1128 {
1129 Clause::OMPC_permutation,
1130 descriptor::Clause(
1131 "permutation",
1132 {
1133 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1134 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1135 }
1136 ),
1137 },
1138 {
1139 Clause::OMPC_priority,
1140 descriptor::Clause(
1141 "priority",
1142 {
1143 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1144 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1145 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1146 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1147 {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}, {}}},
1148 {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}, {}}},
1149 }
1150 ),
1151 },
1152 {
1153 Clause::OMPC_private,
1154 descriptor::Clause(
1155 "private",
1156 {
1157 {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, {}, {}}},
1158 {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, {}, {}}},
1159 {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, {}, {}}},
1160 {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, {}, {}}},
1161 {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}, {}}},
1162 {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}, {}}},
1163 }
1164 ),
1165 },
1166 {
1167 Clause::OMPC_proc_bind,
1168 descriptor::Clause(
1169 "proc_bind",
1170 {
1171 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1172 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1173 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1174 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1175 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1176 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1177 }
1178 ),
1179 },
1180 {
1181 Clause::OMPC_read,
1182 descriptor::Clause(
1183 "read",
1184 {
1185 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1186 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1187 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1188 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1189 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1190 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1191 }
1192 ),
1193 },
1194 {
1195 Clause::OMPC_reduction,
1196 descriptor::Clause(
1197 "reduction",
1198 {
1199 {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}, {}}},
1200 {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}, {}}},
1201 {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}, {}}},
1202 {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}, {}}},
1203 {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}, {}}},
1204 {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}}},
1205 }
1206 ),
1207 },
1208 {
1209 Clause::OMPC_reduction_kind,
1210 descriptor::Clause(
1211 "reduction_kind",
1212 {
1213 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "reduction_kind", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1214 }
1215 ),
1216 },
1217 {
1218 Clause::OMPC_relaxed,
1219 descriptor::Clause(
1220 "relaxed",
1221 {
1222 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1223 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1224 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1225 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1226 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1227 }
1228 ),
1229 },
1230 {
1231 Clause::OMPC_release,
1232 descriptor::Clause(
1233 "release",
1234 {
1235 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1236 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1237 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1238 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1239 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1240 }
1241 ),
1242 },
1243 {
1244 Clause::OMPC_replayable,
1245 descriptor::Clause(
1246 "replayable",
1247 {
1248 {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}, {}}},
1249 {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}, {}}},
1250 }
1251 ),
1252 },
1253 {
1254 Clause::OMPC_reverse_offload,
1255 descriptor::Clause(
1256 "reverse_offload",
1257 {
1258 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1259 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1260 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1261 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1262 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1263 }
1264 ),
1265 },
1266 {
1267 Clause::OMPC_safelen,
1268 descriptor::Clause(
1269 "safelen",
1270 {
1271 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1272 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1273 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1274 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1275 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1276 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1277 }
1278 ),
1279 },
1280 {
1281 Clause::OMPC_safesync,
1282 descriptor::Clause(
1283 "safesync",
1284 {
1285 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1286 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1287 }
1288 ),
1289 },
1290 {
1291 Clause::OMPC_schedule,
1292 descriptor::Clause(
1293 "schedule",
1294 {
1295 {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}, {}}},
1296 {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}, {}}},
1297 {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}, {}}},
1298 {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}, {}}},
1299 {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}, {}}},
1300 {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}, {}}},
1301 }
1302 ),
1303 },
1304 {
1305 Clause::OMPC_self_maps,
1306 descriptor::Clause(
1307 "self_maps",
1308 {
1309 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1310 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1311 }
1312 ),
1313 },
1314 {
1315 Clause::OMPC_seq_cst,
1316 descriptor::Clause(
1317 "seq_cst",
1318 {
1319 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1320 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1321 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1322 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1323 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1324 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1325 }
1326 ),
1327 },
1328 {
1329 Clause::OMPC_severity,
1330 descriptor::Clause(
1331 "severity",
1332 {
1333 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1334 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1335 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1336 {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}, {}}},
1337 }
1338 ),
1339 },
1340 {
1341 Clause::OMPC_shared,
1342 descriptor::Clause(
1343 "shared",
1344 {
1345 {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, {}, {}}},
1346 {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, {}, {}}},
1347 {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, {}, {}}},
1348 {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, {}, {}}},
1349 {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}, {}}},
1350 {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}, {}}},
1351 }
1352 ),
1353 },
1354 {
1355 Clause::OMPC_shift,
1356 descriptor::Clause(
1357 "shift",
1358 {
1359 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "shift", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1360 }
1361 ),
1362 },
1363 {
1364 Clause::OMPC_simd,
1365 descriptor::Clause(
1366 "simd",
1367 {
1368 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1369 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1370 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1371 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1372 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1373 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1374 }
1375 ),
1376 },
1377 {
1378 Clause::OMPC_simdlen,
1379 descriptor::Clause(
1380 "simdlen",
1381 {
1382 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1383 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1384 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1385 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1386 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1387 {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}, {}}},
1388 }
1389 ),
1390 },
1391 {
1392 Clause::OMPC_sizes,
1393 descriptor::Clause(
1394 "sizes",
1395 {
1396 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1397 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1398 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_stripe, Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1399 {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}, {}}},
1400 }
1401 ),
1402 },
1403 {
1404 Clause::OMPC_task_reduction,
1405 descriptor::Clause(
1406 "task_reduction",
1407 {
1408 {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}, {}}},
1409 {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}, {}}},
1410 {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}, {}}},
1411 {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}, {}}},
1412 {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}, {}}},
1413 }
1414 ),
1415 },
1416 {
1417 Clause::OMPC_thread_limit,
1418 descriptor::Clause(
1419 "thread_limit",
1420 {
1421 {Version(45), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1422 {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, {}, {}}},
1423 {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, {}, {}}},
1424 {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, {}, {}}},
1425 {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}, {}}},
1426 {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}, {}}},
1427 }
1428 ),
1429 },
1430 {
1431 Clause::OMPC_threads,
1432 descriptor::Clause(
1433 "threads",
1434 {
1435 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1436 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1437 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1438 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1439 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1440 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1441 }
1442 ),
1443 },
1444 {
1445 Clause::OMPC_threadset,
1446 descriptor::Clause(
1447 "threadset",
1448 {
1449 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1450 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1451 }
1452 ),
1453 },
1454 {
1455 Clause::OMPC_to,
1456 descriptor::Clause(
1457 "to",
1458 {
1459 {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, {}, {}}},
1460 {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}, {}}},
1461 {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}, {}}},
1462 {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}, {}}},
1463 {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}, {}}},
1464 {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}, {}}},
1465 }
1466 ),
1467 },
1468 {
1469 Clause::OMPC_transparent,
1470 descriptor::Clause(
1471 "transparent",
1472 {
1473 {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}, {}}},
1474 {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}, {}}},
1475 }
1476 ),
1477 },
1478 {
1479 Clause::OMPC_unified_address,
1480 descriptor::Clause(
1481 "unified_address",
1482 {
1483 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1484 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1485 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1486 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1487 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1488 }
1489 ),
1490 },
1491 {
1492 Clause::OMPC_unified_shared_memory,
1493 descriptor::Clause(
1494 "unified_shared_memory",
1495 {
1496 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1497 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1498 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1499 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1500 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1501 }
1502 ),
1503 },
1504 {
1505 Clause::OMPC_uniform,
1506 descriptor::Clause(
1507 "uniform",
1508 {
1509 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1510 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1511 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1512 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1513 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1514 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1515 }
1516 ),
1517 },
1518 {
1519 Clause::OMPC_untied,
1520 descriptor::Clause(
1521 "untied",
1522 {
1523 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1524 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1525 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1526 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1527 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1528 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1529 }
1530 ),
1531 },
1532 {
1533 Clause::OMPC_update,
1534 descriptor::Clause(
1535 "update",
1536 {
1537 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1538 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1539 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1540 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1541 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1542 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1543 }
1544 ),
1545 },
1546 {
1547 Clause::OMPC_update_depend_objects,
1548 descriptor::Clause(
1549 "update-depend_objects",
1550 {
1551 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1552 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1553 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1554 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {}}},
1555 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {}}},
1556 }
1557 ),
1558 },
1559 {
1560 Clause::OMPC_use,
1561 descriptor::Clause(
1562 "use",
1563 {
1564 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1565 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1566 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1567 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1568 }
1569 ),
1570 },
1571 {
1572 Clause::OMPC_use_device_addr,
1573 descriptor::Clause(
1574 "use_device_addr",
1575 {
1576 {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, {}, {}}},
1577 {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, {}, {}}},
1578 {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, {}, {}}},
1579 {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}, {}}},
1580 {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}, {}}},
1581 }
1582 ),
1583 },
1584 {
1585 Clause::OMPC_use_device_ptr,
1586 descriptor::Clause(
1587 "use_device_ptr",
1588 {
1589 {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, {}, {}}},
1590 {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, {}, {}}},
1591 {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, {}, {}}},
1592 {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, {}, {}}},
1593 {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}, {}}},
1594 {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}, {}}},
1595 }
1596 ),
1597 },
1598 {
1599 Clause::OMPC_uses_allocators,
1600 descriptor::Clause(
1601 "uses_allocators",
1602 {
1603 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1604 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1605 {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}, {}}},
1606 {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}, {}}},
1607 {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}, {}}},
1608 }
1609 ),
1610 },
1611 {
1612 Clause::OMPC_weak,
1613 descriptor::Clause(
1614 "weak",
1615 {
1616 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1617 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1618 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1619 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1620 }
1621 ),
1622 },
1623 {
1624 Clause::OMPC_when,
1625 descriptor::Clause(
1626 "when",
1627 {
1628 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1629 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1630 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1631 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1632 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1633 }
1634 ),
1635 },
1636 {
1637 Clause::OMPC_write,
1638 descriptor::Clause(
1639 "write",
1640 {
1641 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1642 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1643 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1644 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1645 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1646 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1647 }
1648 ),
1649 },
1650#endif // GEN_OMP_CLAUSE_DESCRIPTORS
1651#ifdef GEN_OMP_MODIFIER_DESCRIPTORS
1652 {
1653 Modifier::AccessGroup,
1654 descriptor::Modifier(
1655 "access-group",
1656 {
1657 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
1658 }
1659 ),
1660 },
1661 {
1662 Modifier::AdjustOp,
1663 descriptor::Modifier(
1664 "adjust-op",
1665 {
1666 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
1667 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
1668 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
1669 }
1670 ),
1671 },
1672 {
1673 Modifier::AlignModifier,
1674 descriptor::Modifier(
1675 "align-modifier",
1676 {
1677 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1678 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1679 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1680 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1681 }
1682 ),
1683 },
1684 {
1685 Modifier::Alignment,
1686 descriptor::Modifier(
1687 "alignment",
1688 {
1689 {Version(45), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1690 {Version(50), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1691 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1692 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1693 {Version(60), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1694 {Version(61), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
1695 }
1696 ),
1697 },
1698 {
1699 Modifier::AllocatorComplexModifier,
1700 descriptor::Modifier(
1701 "allocator-complex-modifier",
1702 {
1703 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1704 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1705 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1706 }
1707 ),
1708 },
1709 {
1710 Modifier::AllocatorSimpleModifier,
1711 descriptor::Modifier(
1712 "allocator-simple-modifier",
1713 {
1714 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1715 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1716 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1717 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1718 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
1719 }
1720 ),
1721 },
1722 {
1723 Modifier::AlwaysModifier,
1724 descriptor::Modifier(
1725 "always-modifier",
1726 {
1727 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1728 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1729 }
1730 ),
1731 },
1732 {
1733 Modifier::AttachModifier,
1734 descriptor::Modifier(
1735 "attach-modifier",
1736 {
1737 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1738 }
1739 ),
1740 },
1741 {
1742 Modifier::AutomapModifier,
1743 descriptor::Modifier(
1744 "automap-modifier",
1745 {
1746 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
1747 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
1748 }
1749 ),
1750 },
1751 {
1752 Modifier::ChunkModifier,
1753 descriptor::Modifier(
1754 "chunk-modifier",
1755 {
1756 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1757 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1758 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1759 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1760 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1761 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
1762 }
1763 ),
1764 },
1765 {
1766 Modifier::CloseModifier,
1767 descriptor::Modifier(
1768 "close-modifier",
1769 {
1770 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1771 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1772 }
1773 ),
1774 },
1775 {
1776 Modifier::ContextSelector,
1777 descriptor::Modifier(
1778 "context-selector",
1779 {
1780 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
1781 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
1782 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
1783 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
1784 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
1785 }
1786 ),
1787 },
1788 {
1789 Modifier::DefaultModifier,
1790 descriptor::Modifier(
1791 "default-modifier",
1792 {
1793 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
1794 }
1795 ),
1796 },
1797 {
1798 Modifier::DeleteModifier,
1799 descriptor::Modifier(
1800 "delete-modifier",
1801 {
1802 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1803 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
1804 }
1805 ),
1806 },
1807 {
1808 Modifier::DependenceType,
1809 descriptor::Modifier(
1810 "dependence-type",
1811 {
1812 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
1813 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
1814 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
1815 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
1816 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
1817 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
1818 }
1819 ),
1820 },
1821 {
1822 Modifier::DepinfoModifier,
1823 descriptor::Modifier(
1824 "depinfo-modifier",
1825 {
1826 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
1827 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
1828 }
1829 ),
1830 },
1831 {
1832 Modifier::DepobjModifier,
1833 descriptor::Modifier(
1834 "depobj-modifier",
1835 {
1836 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
1837 }
1838 ),
1839 },
1840 {
1841 Modifier::DeviceModifier,
1842 descriptor::Modifier(
1843 "device-modifier",
1844 {
1845 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
1846 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
1847 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
1848 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
1849 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
1850 }
1851 ),
1852 },
1853 {
1854 Modifier::DimsModifier,
1855 descriptor::Modifier(
1856 "dims-modifier",
1857 {
1858 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
1859 }
1860 ),
1861 },
1862 {
1863 Modifier::DirectiveNameModifier,
1864 descriptor::Modifier(
1865 "directive-name-modifier",
1866 {
1867 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
1868 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
1869 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
1870 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
1871 {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_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_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}}},
1872 {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_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_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}}},
1873 }
1874 ),
1875 },
1876 {
1877 Modifier::Expectation,
1878 descriptor::Modifier(
1879 "expectation",
1880 {
1881 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
1882 }
1883 ),
1884 },
1885 {
1886 Modifier::Fallback,
1887 descriptor::Modifier(
1888 "fallback",
1889 {
1890 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_use_device_ptr}}},
1891 }
1892 ),
1893 },
1894 {
1895 Modifier::FallbackModifier,
1896 descriptor::Modifier(
1897 "fallback-modifier",
1898 {
1899 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
1900 }
1901 ),
1902 },
1903 {
1904 Modifier::InductionIdentifier,
1905 descriptor::Modifier(
1906 "induction-identifier",
1907 {
1908 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
1909 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
1910 }
1911 ),
1912 },
1913 {
1914 Modifier::InductionModifier,
1915 descriptor::Modifier(
1916 "induction-modifier",
1917 {
1918 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
1919 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
1920 }
1921 ),
1922 },
1923 {
1924 Modifier::InscanModifier,
1925 descriptor::Modifier(
1926 "inscan-modifier",
1927 {
1928 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
1929 }
1930 ),
1931 },
1932 {
1933 Modifier::InteropType,
1934 descriptor::Modifier(
1935 "interop-type",
1936 {
1937 {Version(51), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
1938 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
1939 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, {Clause::OMPC_init}}},
1940 }
1941 ),
1942 },
1943 {
1944 Modifier::Iterator,
1945 descriptor::Modifier(
1946 "iterator",
1947 {
1948 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend}}},
1949 {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}}},
1950 {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}}},
1951 {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}}},
1952 {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}}},
1953 }
1954 ),
1955 },
1956 {
1957 Modifier::LastprivateModifier,
1958 descriptor::Modifier(
1959 "lastprivate-modifier",
1960 {
1961 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
1962 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
1963 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
1964 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
1965 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
1966 }
1967 ),
1968 },
1969 {
1970 Modifier::LinearModifier,
1971 descriptor::Modifier(
1972 "linear-modifier",
1973 {
1974 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1975 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1976 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1977 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1978 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1979 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
1980 }
1981 ),
1982 },
1983 {
1984 Modifier::LinearStep,
1985 descriptor::Modifier(
1986 "linear-step",
1987 {
1988 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
1989 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
1990 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
1991 }
1992 ),
1993 },
1994 {
1995 Modifier::LocModifier,
1996 descriptor::Modifier(
1997 "loc-modifier",
1998 {
1999 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
2000 }
2001 ),
2002 },
2003 {
2004 Modifier::LoopModifier,
2005 descriptor::Modifier(
2006 "loop-modifier",
2007 {
2008 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
2009 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
2010 }
2011 ),
2012 },
2013 {
2014 Modifier::LowerBound,
2015 descriptor::Modifier(
2016 "lower-bound",
2017 {
2018 {Version(50), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
2019 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
2020 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
2021 {Version(60), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
2022 {Version(61), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
2023 }
2024 ),
2025 },
2026 {
2027 Modifier::MapType,
2028 descriptor::Modifier(
2029 "map-type",
2030 {
2031 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
2032 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
2033 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
2034 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
2035 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2036 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2037 }
2038 ),
2039 },
2040 {
2041 Modifier::MapTypeModifier,
2042 descriptor::Modifier(
2043 "map-type-modifier",
2044 {
2045 {Version(45), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
2046 {Version(50), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
2047 {Version(51), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
2048 {Version(52), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
2049 }
2050 ),
2051 },
2052 {
2053 Modifier::Mapper,
2054 descriptor::Modifier(
2055 "mapper",
2056 {
2057 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2058 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2059 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2060 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2061 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2062 }
2063 ),
2064 },
2065 {
2066 Modifier::MemSpace,
2067 descriptor::Modifier(
2068 "mem-space",
2069 {
2070 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2071 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2072 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2073 }
2074 ),
2075 },
2076 {
2077 Modifier::MotionModifier,
2078 descriptor::Modifier(
2079 "motion-modifier",
2080 {
2081 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
2082 }
2083 ),
2084 },
2085 {
2086 Modifier::NeedDeviceAddr,
2087 descriptor::Modifier(
2088 "need-device-addr",
2089 {
2090 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2091 }
2092 ),
2093 },
2094 {
2095 Modifier::NeedDevicePtr,
2096 descriptor::Modifier(
2097 "need-device-ptr",
2098 {
2099 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2100 }
2101 ),
2102 },
2103 {
2104 Modifier::NoncommutativeModifier,
2105 descriptor::Modifier(
2106 "noncommutative-modifier",
2107 {
2108 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2109 }
2110 ),
2111 },
2112 {
2113 Modifier::Nothing,
2114 descriptor::Modifier(
2115 "nothing",
2116 {
2117 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
2118 }
2119 ),
2120 },
2121 {
2122 Modifier::OmpxHoldModifier,
2123 descriptor::Modifier(
2124 "ompx-hold-modifier",
2125 {
2126 {Version(45), {{{Property::Unique}}, {Clause::OMPC_map}}},
2127 {Version(50), {{{Property::Unique}}, {Clause::OMPC_map}}},
2128 {Version(51), {{{Property::Unique}}, {Clause::OMPC_map}}},
2129 {Version(52), {{{Property::Unique}}, {Clause::OMPC_map}}},
2130 {Version(60), {{{Property::Unique}}, {Clause::OMPC_map}}},
2131 {Version(61), {{{Property::Unique}}, {Clause::OMPC_map}}},
2132 }
2133 ),
2134 },
2135 {
2136 Modifier::OptionalModifier,
2137 descriptor::Modifier(
2138 "optional-modifier",
2139 {
2140 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2141 }
2142 ),
2143 },
2144 {
2145 Modifier::OrderModifier,
2146 descriptor::Modifier(
2147 "order-modifier",
2148 {
2149 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
2150 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
2151 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
2152 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
2153 }
2154 ),
2155 },
2156 {
2157 Modifier::OrderingModifier,
2158 descriptor::Modifier(
2159 "ordering-modifier",
2160 {
2161 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2162 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2163 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2164 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2165 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2166 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
2167 }
2168 ),
2169 },
2170 {
2171 Modifier::OriginalSharingModifier,
2172 descriptor::Modifier(
2173 "original-sharing-modifier",
2174 {
2175 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2176 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2177 }
2178 ),
2179 },
2180 {
2181 Modifier::PerThreadModifier,
2182 descriptor::Modifier(
2183 "per-thread-modifier",
2184 {
2185 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2186 }
2187 ),
2188 },
2189 {
2190 Modifier::PreferType,
2191 descriptor::Modifier(
2192 "prefer-type",
2193 {
2194 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2195 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2196 }
2197 ),
2198 },
2199 {
2200 Modifier::Prescriptiveness,
2201 descriptor::Modifier(
2202 "prescriptiveness",
2203 {
2204 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
2205 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
2206 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks, Clause::OMPC_num_threads}}},
2207 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
2208 }
2209 ),
2210 },
2211 {
2212 Modifier::PrescriptivenessModifier,
2213 descriptor::Modifier(
2214 "prescriptiveness-modifier",
2215 {
2216 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
2217 }
2218 ),
2219 },
2220 {
2221 Modifier::PresentModifier,
2222 descriptor::Modifier(
2223 "present-modifier",
2224 {
2225 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2226 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
2227 }
2228 ),
2229 },
2230 {
2231 Modifier::ReductionIdentifier,
2232 descriptor::Modifier(
2233 "reduction-identifier",
2234 {
2235 {Version(45), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_reduction}}},
2236 {Version(50), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
2237 {Version(51), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
2238 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
2239 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
2240 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
2241 }
2242 ),
2243 },
2244 {
2245 Modifier::ReductionModifier,
2246 descriptor::Modifier(
2247 "reduction-modifier",
2248 {
2249 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2250 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2251 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2252 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2253 }
2254 ),
2255 },
2256 {
2257 Modifier::RefModifier,
2258 descriptor::Modifier(
2259 "ref-modifier",
2260 {
2261 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2262 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2263 }
2264 ),
2265 },
2266 {
2267 Modifier::Saved,
2268 descriptor::Modifier(
2269 "saved",
2270 {
2271 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
2272 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
2273 }
2274 ),
2275 },
2276 {
2277 Modifier::ScaledModifier,
2278 descriptor::Modifier(
2279 "scaled-modifier",
2280 {
2281 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simdlen}}},
2282 }
2283 ),
2284 },
2285 {
2286 Modifier::SelfModifier,
2287 descriptor::Modifier(
2288 "self-modifier",
2289 {
2290 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2291 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
2292 }
2293 ),
2294 },
2295 {
2296 Modifier::SizesSelector,
2297 descriptor::Modifier(
2298 "sizes-selector",
2299 {
2300 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_sizes}}},
2301 }
2302 ),
2303 },
2304 {
2305 Modifier::StepComplexModifier,
2306 descriptor::Modifier(
2307 "step-complex-modifier",
2308 {
2309 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
2310 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
2311 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
2312 }
2313 ),
2314 },
2315 {
2316 Modifier::StepModifier,
2317 descriptor::Modifier(
2318 "step-modifier",
2319 {
2320 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
2321 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
2322 }
2323 ),
2324 },
2325 {
2326 Modifier::StepSimpleModifier,
2327 descriptor::Modifier(
2328 "step-simple-modifier",
2329 {
2330 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
2331 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
2332 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
2333 }
2334 ),
2335 },
2336 {
2337 Modifier::TargetType,
2338 descriptor::Modifier(
2339 "target-type",
2340 {
2341 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2342 }
2343 ),
2344 },
2345 {
2346 Modifier::TargetsyncType,
2347 descriptor::Modifier(
2348 "targetsync-type",
2349 {
2350 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
2351 }
2352 ),
2353 },
2354 {
2355 Modifier::TaskDependenceType,
2356 descriptor::Modifier(
2357 "task-dependence-type",
2358 {
2359 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
2360 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
2361 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
2362 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
2363 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
2364 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
2365 }
2366 ),
2367 },
2368 {
2369 Modifier::TaskModifier,
2370 descriptor::Modifier(
2371 "task-modifier",
2372 {
2373 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
2374 }
2375 ),
2376 },
2377 {
2378 Modifier::TraitsArray,
2379 descriptor::Modifier(
2380 "traits-array",
2381 {
2382 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2383 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2384 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
2385 }
2386 ),
2387 },
2388 {
2389 Modifier::VariableCategory,
2390 descriptor::Modifier(
2391 "variable-category",
2392 {
2393 {Version(45), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_defaultmap}}},
2394 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2395 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2396 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2397 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2398 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2399 }
2400 ),
2401 },
2402#endif // GEN_OMP_MODIFIER_DESCRIPTORS
2403#ifdef GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
2404 {
2405 ModifierSet::AdjustOp,
2406 descriptor::ModifierSet(
2407 "adjust-op",
2408 {
2409 {Version(61), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Modifier::NeedDeviceAddr, Modifier::NeedDevicePtr, Modifier::Nothing}, {Clause::OMPC_adjust_args}}},
2410 }
2411 ),
2412 },
2413 {
2414 ModifierSet::DependListType,
2415 descriptor::ModifierSet(
2416 "depend-list-type",
2417 {
2418 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DepobjModifier, Modifier::LocModifier}, {Clause::OMPC_depend}}},
2419 }
2420 ),
2421 },
2422 {
2423 ModifierSet::InteropType,
2424 descriptor::ModifierSet(
2425 "interop-type",
2426 {
2427 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::TargetType, Modifier::TargetsyncType}, {Clause::OMPC_init}}},
2428 }
2429 ),
2430 },
2431 {
2432 ModifierSet::MapTypeModifying,
2433 descriptor::ModifierSet(
2434 "map-type-modifying",
2435 {
2436 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::AlwaysModifier, Modifier::CloseModifier, Modifier::DeleteModifier, Modifier::PresentModifier, Modifier::SelfModifier}, {Clause::OMPC_map}}},
2437 }
2438 ),
2439 },
2440 {
2441 ModifierSet::ReductionType,
2442 descriptor::ModifierSet(
2443 "reduction-type",
2444 {
2445 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DefaultModifier, Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::TaskModifier}, {Clause::OMPC_reduction}}},
2446 }
2447 ),
2448 },
2449 {
2450 ModifierSet::VariableSelector,
2451 descriptor::ModifierSet(
2452 "variable-selector",
2453 {
2454 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Modifier::OptionalModifier, Modifier::VariableCategory}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
2455 }
2456 ),
2457 },
2458#endif // GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
2459#ifdef GEN_OMP_MODIFIER_SET_DESCRIPTORS
2460 {
2461 ModifierSet::DependModifierSet1,
2462 descriptor::ModifierSet(
2463 "depend_modifier_set_1",
2464 {
2465 {Version(45), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
2466 {Version(50), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
2467 {Version(51), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
2468 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DepobjModifier, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
2469 }
2470 ),
2471 },
2472 {
2473 ModifierSet::NumTeamsModifierSet1,
2474 descriptor::ModifierSet(
2475 "num_teams_modifier_set_1",
2476 {
2477 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DimsModifier, Modifier::LowerBound}, {Clause::OMPC_num_teams}}},
2478 }
2479 ),
2480 },
2481 {
2482 ModifierSet::ReductionModifierSet1,
2483 descriptor::ModifierSet(
2484 "reduction_modifier_set_1",
2485 {
2486 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::PerThreadModifier}, {Clause::OMPC_reduction}}},
2487 }
2488 ),
2489 },
2490#endif // GEN_OMP_MODIFIER_SET_DESCRIPTORS
2491 // clang-format on