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 {Version(70), {{{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}, {}}},
21 }
22 ),
23 },
24 {
25 Clause::OMPC_acq_rel,
26 descriptor::Clause(
27 "acq_rel",
28 {
29 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
30 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
31 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
32 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
33 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
34 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acq_rel", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
35 }
36 ),
37 },
38 {
39 Clause::OMPC_acquire,
40 descriptor::Clause(
41 "acquire",
42 {
43 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
44 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
45 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
46 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
47 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
48 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "acquire", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
49 }
50 ),
51 },
52 {
53 Clause::OMPC_adjust_args,
54 descriptor::Clause(
55 "adjust_args",
56 {
57 {Version(51), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AdjustOp}, {}}},
58 {Version(52), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::AdjustOp}, {}}},
59 {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}, {}}},
60 {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}}},
61 {Version(70), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Repeatable}}, "adjust_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {ModifierSet::AdjustOp}}},
62 }
63 ),
64 },
65 {
66 Clause::OMPC_affinity,
67 descriptor::Clause(
68 "affinity",
69 {
70 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
71 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
72 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "affinity", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Iterator}, {}}},
73 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited}}, "affinity", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_task_iteration}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator}, {}}},
74 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited}}, "affinity", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_task_iteration}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator}, {}}},
75 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable, Property::TaskInherited}}, "affinity", {Directive::OMPD_target_data, Directive::OMPD_task, Directive::OMPD_task_iteration}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator}, {}}},
76 }
77 ),
78 },
79 {
80 Clause::OMPC_align,
81 descriptor::Clause(
82 "align",
83 {
84 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
85 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
86 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
87 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
88 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "align", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
89 }
90 ),
91 },
92 {
93 Clause::OMPC_aligned,
94 descriptor::Clause(
95 "aligned",
96 {
97 {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}, {}}},
98 {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}, {}}},
99 {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}, {}}},
100 {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}, {}}},
101 {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}, {}}},
102 {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}, {}}},
103 {Version(70), {{{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}, {}}},
104 }
105 ),
106 },
107 {
108 Clause::OMPC_allocate,
109 descriptor::Clause(
110 "allocate",
111 {
112 {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}, {}}},
113 {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_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}, {}}},
114 {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}, {}}},
115 {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}, {}}},
116 {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}, {}}},
117 {Version(70), {{{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}, {}}},
118 }
119 ),
120 },
121 {
122 Clause::OMPC_allocator,
123 descriptor::Clause(
124 "allocator",
125 {
126 {Version(50), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
127 {Version(51), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
128 {Version(52), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
129 {Version(60), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
130 {Version(61), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
131 {Version(70), {{{Property::Compatible, Property::Free, Property::IcvDefaulted, Property::Optional, Property::Unique}}, "allocator", {Directive::OMPD_allocate}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
132 }
133 ),
134 },
135 {
136 Clause::OMPC_append_args,
137 descriptor::Clause(
138 "append_args",
139 {
140 {Version(51), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
141 {Version(52), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
142 {Version(60), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
143 {Version(61), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
144 {Version(70), {{{Property::Compatible, Property::DispatchCompliant, Property::Free, Property::Optional, Property::Unique}}, "append_args", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
145 }
146 ),
147 },
148 {
149 Clause::OMPC_apply,
150 descriptor::Clause(
151 "apply",
152 {
153 {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}, {}}},
154 {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}, {}}},
155 {Version(70), {{{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}, {}}},
156 }
157 ),
158 },
159 {
160 Clause::OMPC_at,
161 descriptor::Clause(
162 "at",
163 {
164 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
165 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
166 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
167 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
168 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "at", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
169 }
170 ),
171 },
172 {
173 Clause::OMPC_atomic_default_mem_order,
174 descriptor::Clause(
175 "atomic_default_mem_order",
176 {
177 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
178 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
179 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
180 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
181 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
182 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "atomic_default_mem_order", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
183 }
184 ),
185 },
186 {
187 Clause::OMPC_bind,
188 descriptor::Clause(
189 "bind",
190 {
191 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
192 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
193 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
194 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
195 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
196 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "bind", {Directive::OMPD_loop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
197 }
198 ),
199 },
200 {
201 Clause::OMPC_cancellation_construct_type,
202 descriptor::Clause(
203 "cancellation_construct_type",
204 {
205 {Version(45), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
206 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
207 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
208 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
209 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
210 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
211 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "cancellation_construct_type", {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
212 }
213 ),
214 },
215 {
216 Clause::OMPC_capture,
217 descriptor::Clause(
218 "capture",
219 {
220 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
221 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
222 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
223 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
224 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
225 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
226 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "capture", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
227 }
228 ),
229 },
230 {
231 Clause::OMPC_collapse,
232 descriptor::Clause(
233 "collapse",
234 {
235 {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, {}, {}}},
236 {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, {}, {}}},
237 {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, {}, {}}},
238 {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, {}, {}}},
239 {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}, {}}},
240 {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}, {}}},
241 {Version(70), {{{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}, {}}},
242 }
243 ),
244 },
245 {
246 Clause::OMPC_collector,
247 descriptor::Clause(
248 "collector",
249 {
250 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
251 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
252 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "collector", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
253 }
254 ),
255 },
256 {
257 Clause::OMPC_combiner,
258 descriptor::Clause(
259 "combiner",
260 {
261 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
262 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
263 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "combiner", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
264 }
265 ),
266 },
267 {
268 Clause::OMPC_compare,
269 descriptor::Clause(
270 "compare",
271 {
272 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
273 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
274 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
275 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
276 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "compare", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
277 }
278 ),
279 },
280 {
281 Clause::OMPC_contains,
282 descriptor::Clause(
283 "contains",
284 {
285 {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, {}, {}}},
286 {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, {}, {}}},
287 {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}, {}}},
288 {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}, {}}},
289 {Version(70), {{{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}, {}}},
290 }
291 ),
292 },
293 {
294 Clause::OMPC_copyin,
295 descriptor::Clause(
296 "copyin",
297 {
298 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
299 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
300 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
301 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
302 {Version(60), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
303 {Version(61), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
304 {Version(70), {{{Property::Compatible, Property::DataCopying, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Repeatable}}, "copyin", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
305 }
306 ),
307 },
308 {
309 Clause::OMPC_copyprivate,
310 descriptor::Clause(
311 "copyprivate",
312 {
313 {Version(45), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
314 {Version(50), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
315 {Version(51), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
316 {Version(52), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
317 {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}, {}}},
318 {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}, {}}},
319 {Version(70), {{{Property::Compatible, Property::DataCopying, Property::EndClause, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "copyprivate", {Directive::OMPD_single}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
320 }
321 ),
322 },
323 {
324 Clause::OMPC_counts,
325 descriptor::Clause(
326 "counts",
327 {
328 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
329 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
330 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "counts", {Directive::OMPD_split}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
331 }
332 ),
333 },
334 {
335 Clause::OMPC_default,
336 descriptor::Clause(
337 "default",
338 {
339 {Version(45), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
340 {Version(50), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
341 {Version(51), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
342 {Version(52), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::Unique}}, "default", {Directive::OMPD_parallel, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
343 {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}, {}}},
344 {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}}},
345 {Version(70), {{{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}}},
346 }
347 ),
348 },
349 {
350 Clause::OMPC_default_variant,
351 descriptor::Clause(
352 "default-variant",
353 {
354 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "default-variant", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
355 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "default-variant", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
356 }
357 ),
358 },
359 {
360 Clause::OMPC_defaultmap,
361 descriptor::Clause(
362 "defaultmap",
363 {
364 {Version(45), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
365 {Version(50), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
366 {Version(51), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
367 {Version(52), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Unique}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::VariableCategory}, {}}},
368 {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}, {}}},
369 {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}}},
370 {Version(70), {{{Property::Compatible, Property::DefaultAttribute, Property::Free, Property::Optional, Property::PostModified, Property::Repeatable}}, "defaultmap", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {ModifierSet::VariableSelector}}},
371 }
372 ),
373 },
374 {
375 Clause::OMPC_depend,
376 descriptor::Clause(
377 "depend",
378 {
379 {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}}},
380 {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}}},
381 {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}}},
382 {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}, {}}},
383 {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_task_iteration, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::TaskDependenceType}, {}}},
384 {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_task_iteration, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::TaskDependenceType}, {ModifierSet::DependListType, ModifierSet::DependModifierSet1}}},
385 {Version(70), {{{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_task_iteration, Directive::OMPD_taskwait}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Iterator, Modifier::TaskDependenceType}, {ModifierSet::DependListType, ModifierSet::DependModifierSet1}}},
386 }
387 ),
388 },
389 {
390 Clause::OMPC_depth,
391 descriptor::Clause(
392 "depth",
393 {
394 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "depth", {Directive::OMPD_flatten, Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
395 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "depth", {Directive::OMPD_flatten, Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
396 }
397 ),
398 },
399 {
400 Clause::OMPC_destroy,
401 descriptor::Clause(
402 "destroy",
403 {
404 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
405 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
406 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
407 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
408 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
409 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "destroy", {Directive::OMPD_depobj, Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
410 }
411 ),
412 },
413 {
414 Clause::OMPC_detach,
415 descriptor::Clause(
416 "detach",
417 {
418 {Version(50), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
419 {Version(51), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
420 {Version(52), {{{Property::Compatible, Property::DataSharingAttribute, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Privatization, Property::Unique}}, "detach", {Directive::OMPD_task}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
421 {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}, {}}},
422 {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}, {}}},
423 {Version(70), {{{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}, {}}},
424 }
425 ),
426 },
427 {
428 Clause::OMPC_device,
429 descriptor::Clause(
430 "device",
431 {
432 {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, {}, {}}},
433 {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}, {}}},
434 {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}, {}}},
435 {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}, {}}},
436 {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}, {}}},
437 {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}, {}}},
438 {Version(70), {{{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}, {}}},
439 }
440 ),
441 },
442 {
443 Clause::OMPC_device_safesync,
444 descriptor::Clause(
445 "device_safesync",
446 {
447 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
448 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
449 {Version(70), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "device_safesync", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
450 }
451 ),
452 },
453 {
454 Clause::OMPC_device_type,
455 descriptor::Clause(
456 "device_type",
457 {
458 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "device_type", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
459 {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, {}, {}}},
460 {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, {}, {}}},
461 {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}, {}}},
462 {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}, {}}},
463 {Version(70), {{{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}, {}}},
464 }
465 ),
466 },
467 {
468 Clause::OMPC_dist_schedule,
469 descriptor::Clause(
470 "dist_schedule",
471 {
472 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
473 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
474 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
475 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
476 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
477 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
478 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "dist_schedule", {Directive::OMPD_distribute}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
479 }
480 ),
481 },
482 {
483 Clause::OMPC_doacross,
484 descriptor::Clause(
485 "doacross",
486 {
487 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType}, {}}},
488 {Version(60), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
489 {Version(61), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
490 {Version(70), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, "doacross", {Directive::OMPD_ordered_standalone}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DependenceType, Modifier::DirectiveNameModifier}, {}}},
491 }
492 ),
493 },
494 {
495 Clause::OMPC_dyn_groupprivate,
496 descriptor::Clause(
497 "dyn_groupprivate",
498 {
499 {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}, {}}},
500 {Version(70), {{{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}, {}}},
501 }
502 ),
503 },
504 {
505 Clause::OMPC_dynamic_allocators,
506 descriptor::Clause(
507 "dynamic_allocators",
508 {
509 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
510 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
511 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
512 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
513 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
514 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "dynamic_allocators", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
515 }
516 ),
517 },
518 {
519 Clause::OMPC_enter,
520 descriptor::Clause(
521 "enter",
522 {
523 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataMappingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "enter", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
524 {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}, {}}},
525 {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}, {}}},
526 {Version(70), {{{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}, {}}},
527 }
528 ),
529 },
530 {
531 Clause::OMPC_exclusive,
532 descriptor::Clause(
533 "exclusive",
534 {
535 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
536 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
537 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
538 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
539 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
540 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "exclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
541 }
542 ),
543 },
544 {
545 Clause::OMPC_fail,
546 descriptor::Clause(
547 "fail",
548 {
549 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
550 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
551 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
552 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
553 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "fail", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
554 }
555 ),
556 },
557 {
558 Clause::OMPC_filter,
559 descriptor::Clause(
560 "filter",
561 {
562 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
563 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
564 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
565 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
566 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "filter", {Directive::OMPD_masked}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
567 }
568 ),
569 },
570 {
571 Clause::OMPC_final,
572 descriptor::Clause(
573 "final",
574 {
575 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
576 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
577 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
578 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
579 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
580 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
581 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "final", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
582 }
583 ),
584 },
585 {
586 Clause::OMPC_firstprivate,
587 descriptor::Clause(
588 "firstprivate",
589 {
590 {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, {}, {}}},
591 {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, {}, {}}},
592 {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_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_task, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
593 {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, {}, {}}},
594 {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}, {}}},
595 {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}, {}}},
596 {Version(70), {{{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}, {}}},
597 }
598 ),
599 },
600 {
601 Clause::OMPC_from,
602 descriptor::Clause(
603 "from",
604 {
605 {Version(45), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
606 {Version(50), {{{Property::Compatible, Property::DataMotionAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "from", {Directive::OMPD_target_update}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Mapper}, {}}},
607 {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}, {}}},
608 {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}, {}}},
609 {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}, {}}},
610 {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}, {}}},
611 {Version(70), {{{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}, {}}},
612 }
613 ),
614 },
615 {
616 Clause::OMPC_full,
617 descriptor::Clause(
618 "full",
619 {
620 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
621 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
622 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
623 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
624 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "full", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
625 }
626 ),
627 },
628 {
629 Clause::OMPC_grainsize,
630 descriptor::Clause(
631 "grainsize",
632 {
633 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
634 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
635 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
636 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
637 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
638 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
639 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "grainsize", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
640 }
641 ),
642 },
643 {
644 Clause::OMPC_graph_id,
645 descriptor::Clause(
646 "graph_id",
647 {
648 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
649 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
650 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_id", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
651 }
652 ),
653 },
654 {
655 Clause::OMPC_graph_reset,
656 descriptor::Clause(
657 "graph_reset",
658 {
659 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
660 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
661 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "graph_reset", {Directive::OMPD_taskgraph}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
662 }
663 ),
664 },
665 {
666 Clause::OMPC_has_device_addr,
667 descriptor::Clause(
668 "has_device_addr",
669 {
670 {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, {}, {}}},
671 {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, {}, {}}},
672 {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}, {}}},
673 {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}, {}}},
674 {Version(70), {{{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}, {}}},
675 }
676 ),
677 },
678 {
679 Clause::OMPC_hint,
680 descriptor::Clause(
681 "hint",
682 {
683 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
684 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
685 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
686 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
687 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
688 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
689 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "hint", {Directive::OMPD_atomic, Directive::OMPD_critical}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
690 }
691 ),
692 },
693 {
694 Clause::OMPC_holds,
695 descriptor::Clause(
696 "holds",
697 {
698 {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, {}, {}}},
699 {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, {}, {}}},
700 {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}, {}}},
701 {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}, {}}},
702 {Version(70), {{{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}, {}}},
703 }
704 ),
705 },
706 {
707 Clause::OMPC_if,
708 descriptor::Clause(
709 "if",
710 {
711 {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}, {}}},
712 {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}, {}}},
713 {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}, {}}},
714 {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}, {}}},
715 {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_task_iteration, Directive::OMPD_taskgraph, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
716 {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_task_iteration, Directive::OMPD_taskgraph, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
717 {Version(70), {{{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_task_iteration, Directive::OMPD_taskgraph, Directive::OMPD_taskloop, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
718 }
719 ),
720 },
721 {
722 Clause::OMPC_in_reduction,
723 descriptor::Clause(
724 "in_reduction",
725 {
726 {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}, {}}},
727 {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}, {}}},
728 {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}, {}}},
729 {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}, {}}},
730 {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}, {}}},
731 {Version(70), {{{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}, {}}},
732 }
733 ),
734 },
735 {
736 Clause::OMPC_inbranch,
737 descriptor::Clause(
738 "inbranch",
739 {
740 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
741 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
742 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
743 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
744 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
745 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
746 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "inbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
747 }
748 ),
749 },
750 {
751 Clause::OMPC_inclusive,
752 descriptor::Clause(
753 "inclusive",
754 {
755 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
756 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
757 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
758 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
759 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
760 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "inclusive", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
761 }
762 ),
763 },
764 {
765 Clause::OMPC_indirect,
766 descriptor::Clause(
767 "indirect",
768 {
769 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
770 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
771 {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}, {}}},
772 {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}, {}}},
773 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "indirect", {Directive::OMPD_begin_declare_target, Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
774 }
775 ),
776 },
777 {
778 Clause::OMPC_induction,
779 descriptor::Clause(
780 "induction",
781 {
782 {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}, {}}},
783 {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}, {}}},
784 {Version(70), {{{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}, {}}},
785 }
786 ),
787 },
788 {
789 Clause::OMPC_inductor,
790 descriptor::Clause(
791 "inductor",
792 {
793 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
794 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
795 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "inductor", {Directive::OMPD_declare_induction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
796 }
797 ),
798 },
799 {
800 Clause::OMPC_init,
801 descriptor::Clause(
802 "init",
803 {
804 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
805 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Repeatable}}, "init", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::InteropType}, {}}},
806 {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}, {}}},
807 {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}}},
808 {Version(70), {{{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}}},
809 }
810 ),
811 },
812 {
813 Clause::OMPC_init_complete,
814 descriptor::Clause(
815 "init_complete",
816 {
817 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
818 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
819 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "init_complete", {Directive::OMPD_scan}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
820 }
821 ),
822 },
823 {
824 Clause::OMPC_initializer,
825 descriptor::Clause(
826 "initializer",
827 {
828 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
829 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
830 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
831 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
832 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
833 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
834 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "initializer", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
835 }
836 ),
837 },
838 {
839 Clause::OMPC_interop,
840 descriptor::Clause(
841 "interop",
842 {
843 {Version(60), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
844 {Version(61), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
845 {Version(70), {{{Property::Compatible, Property::DispatchRequirement, Property::Free, Property::Optional, Property::Unique}}, "interop", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
846 }
847 ),
848 },
849 {
850 Clause::OMPC_is_device_ptr,
851 descriptor::Clause(
852 "is_device_ptr",
853 {
854 {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, {}, {}}},
855 {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, {}, {}}},
856 {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, {}, {}}},
857 {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, {}, {}}},
858 {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}, {}}},
859 {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}, {}}},
860 {Version(70), {{{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}, {}}},
861 }
862 ),
863 },
864 {
865 Clause::OMPC_lastprivate,
866 descriptor::Clause(
867 "lastprivate",
868 {
869 {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, {}, {}}},
870 {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}, {}}},
871 {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}, {}}},
872 {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}, {}}},
873 {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}, {}}},
874 {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}, {}}},
875 {Version(70), {{{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}, {}}},
876 }
877 ),
878 },
879 {
880 Clause::OMPC_linear,
881 descriptor::Clause(
882 "linear",
883 {
884 {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}, {}}},
885 {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}, {}}},
886 {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}, {}}},
887 {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}, {}}},
888 {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}, {}}},
889 {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}, {}}},
890 {Version(70), {{{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}, {}}},
891 }
892 ),
893 },
894 {
895 Clause::OMPC_link,
896 descriptor::Clause(
897 "link",
898 {
899 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
900 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
901 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
902 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
903 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
904 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
905 {Version(70), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "link", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
906 }
907 ),
908 },
909 {
910 Clause::OMPC_local,
911 descriptor::Clause(
912 "local",
913 {
914 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
915 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
916 {Version(70), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "local", {Directive::OMPD_declare_target}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
917 }
918 ),
919 },
920 {
921 Clause::OMPC_looprange,
922 descriptor::Clause(
923 "looprange",
924 {
925 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
926 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
927 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "looprange", {Directive::OMPD_fuse}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
928 }
929 ),
930 },
931 {
932 Clause::OMPC_map,
933 descriptor::Clause(
934 "map",
935 {
936 {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}, {}}},
937 {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}, {}}},
938 {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}, {}}},
939 {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}, {}}},
940 {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}, {}}},
941 {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}}},
942 {Version(70), {{{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}}},
943 }
944 ),
945 },
946 {
947 Clause::OMPC_match,
948 descriptor::Clause(
949 "match",
950 {
951 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
952 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
953 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
954 {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}, {}}},
955 {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}, {}}},
956 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "match", {Directive::OMPD_begin_declare_variant, Directive::OMPD_declare_variant}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
957 }
958 ),
959 },
960 {
961 Clause::OMPC_memscope,
962 descriptor::Clause(
963 "memscope",
964 {
965 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
966 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
967 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "memscope", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
968 }
969 ),
970 },
971 {
972 Clause::OMPC_mergeable,
973 descriptor::Clause(
974 "mergeable",
975 {
976 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
977 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
978 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
979 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "mergeable", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
980 {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}, {}}},
981 {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}, {}}},
982 {Version(70), {{{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}, {}}},
983 }
984 ),
985 },
986 {
987 Clause::OMPC_message,
988 descriptor::Clause(
989 "message",
990 {
991 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
992 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
993 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "message", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
994 {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}, {}}},
995 {Version(70), {{{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}, {}}},
996 }
997 ),
998 },
999 {
1000 Clause::OMPC_no_openmp,
1001 descriptor::Clause(
1002 "no_openmp",
1003 {
1004 {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, {}, {}}},
1005 {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, {}, {}}},
1006 {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}, {}}},
1007 {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}, {}}},
1008 {Version(70), {{{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}, {}}},
1009 }
1010 ),
1011 },
1012 {
1013 Clause::OMPC_no_openmp_constructs,
1014 descriptor::Clause(
1015 "no_openmp_constructs",
1016 {
1017 {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}, {}}},
1018 {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}, {}}},
1019 {Version(70), {{{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}, {}}},
1020 }
1021 ),
1022 },
1023 {
1024 Clause::OMPC_no_openmp_routines,
1025 descriptor::Clause(
1026 "no_openmp_routines",
1027 {
1028 {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, {}, {}}},
1029 {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, {}, {}}},
1030 {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}, {}}},
1031 {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}, {}}},
1032 {Version(70), {{{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}, {}}},
1033 }
1034 ),
1035 },
1036 {
1037 Clause::OMPC_no_parallelism,
1038 descriptor::Clause(
1039 "no_parallelism",
1040 {
1041 {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, {}, {}}},
1042 {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, {}, {}}},
1043 {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}, {}}},
1044 {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}, {}}},
1045 {Version(70), {{{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}, {}}},
1046 }
1047 ),
1048 },
1049 {
1050 Clause::OMPC_nocontext,
1051 descriptor::Clause(
1052 "nocontext",
1053 {
1054 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1055 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1056 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1057 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1058 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "nocontext", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1059 }
1060 ),
1061 },
1062 {
1063 Clause::OMPC_nogroup,
1064 descriptor::Clause(
1065 "nogroup",
1066 {
1067 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1068 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1069 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1070 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nogroup", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1071 {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}, {}}},
1072 {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}, {}}},
1073 {Version(70), {{{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}, {}}},
1074 }
1075 ),
1076 },
1077 {
1078 Clause::OMPC_nontemporal,
1079 descriptor::Clause(
1080 "nontemporal",
1081 {
1082 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1083 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1084 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1085 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1086 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1087 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "nontemporal", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1088 }
1089 ),
1090 },
1091 {
1092 Clause::OMPC_notinbranch,
1093 descriptor::Clause(
1094 "notinbranch",
1095 {
1096 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1097 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1098 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1099 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1100 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1101 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1102 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "notinbranch", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1103 }
1104 ),
1105 },
1106 {
1107 Clause::OMPC_novariants,
1108 descriptor::Clause(
1109 "novariants",
1110 {
1111 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1112 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1113 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1114 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1115 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "novariants", {Directive::OMPD_dispatch}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1116 }
1117 ),
1118 },
1119 {
1120 Clause::OMPC_nowait,
1121 descriptor::Clause(
1122 "nowait",
1123 {
1124 {Version(45), {{{Property::Compatible, Property::EndClause, Property::Free, Property::Optional, Property::OutermostLeaf, Property::Unique}}, "nowait", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_sections, Directive::OMPD_single, Directive::OMPD_target, Directive::OMPD_target_enter_data, Directive::OMPD_target_exit_data, Directive::OMPD_target_update, Directive::OMPD_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1125 {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_workshare}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1126 {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, {}, {}}},
1127 {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, {}, {}}},
1128 {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}, {}}},
1129 {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}, {}}},
1130 {Version(70), {{{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}, {}}},
1131 }
1132 ),
1133 },
1134 {
1135 Clause::OMPC_num_tasks,
1136 descriptor::Clause(
1137 "num_tasks",
1138 {
1139 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1140 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1141 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1142 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::Prescriptiveness}, {}}},
1143 {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}, {}}},
1144 {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}, {}}},
1145 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::TaskgraphAltering, Property::Unique}}, "num_tasks", {Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1146 }
1147 ),
1148 },
1149 {
1150 Clause::OMPC_num_teams,
1151 descriptor::Clause(
1152 "num_teams",
1153 {
1154 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1155 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1156 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1157 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::TargetConsistent, Property::Unique}}, "num_teams", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::LowerBound}, {}}},
1158 {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}, {}}},
1159 {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}}},
1160 {Version(70), {{{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}}},
1161 }
1162 ),
1163 },
1164 {
1165 Clause::OMPC_num_threads,
1166 descriptor::Clause(
1167 "num_threads",
1168 {
1169 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1170 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1171 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1172 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1173 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "num_threads", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::Prescriptiveness}, {}}},
1174 {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}, {}}},
1175 {Version(70), {{{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}, {}}},
1176 }
1177 ),
1178 },
1179 {
1180 Clause::OMPC_ompx_bare,
1181 descriptor::Clause(
1182 "ompx_bare",
1183 {
1184 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1185 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1186 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1187 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1188 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1189 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1190 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "ompx_bare", {Directive::OMPD_target, Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1191 }
1192 ),
1193 },
1194 {
1195 Clause::OMPC_order,
1196 descriptor::Clause(
1197 "order",
1198 {
1199 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::ScheduleSpecification, Property::Unique}}, "order", {Directive::OMPD_do, Directive::OMPD_for, Directive::OMPD_loop, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1200 {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}, {}}},
1201 {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}, {}}},
1202 {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}, {}}},
1203 {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}, {}}},
1204 {Version(70), {{{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}, {}}},
1205 }
1206 ),
1207 },
1208 {
1209 Clause::OMPC_ordered,
1210 descriptor::Clause(
1211 "ordered",
1212 {
1213 {Version(45), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1214 {Version(50), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1215 {Version(51), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1216 {Version(52), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1217 {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}, {}}},
1218 {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}, {}}},
1219 {Version(70), {{{Property::Compatible, Property::Free, Property::OnceForAllConstituents, Property::Optional, Property::Unique}}, "ordered", {Directive::OMPD_do, Directive::OMPD_for}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1220 }
1221 ),
1222 },
1223 {
1224 Clause::OMPC_otherwise,
1225 descriptor::Clause(
1226 "otherwise",
1227 {
1228 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1229 {Version(60), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1230 {Version(61), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1231 {Version(70), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, "otherwise", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1232 }
1233 ),
1234 },
1235 {
1236 Clause::OMPC_partial,
1237 descriptor::Clause(
1238 "partial",
1239 {
1240 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1241 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1242 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1243 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1244 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "partial", {Directive::OMPD_unroll}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1245 }
1246 ),
1247 },
1248 {
1249 Clause::OMPC_permutation,
1250 descriptor::Clause(
1251 "permutation",
1252 {
1253 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1254 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1255 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "permutation", {Directive::OMPD_interchange}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1256 }
1257 ),
1258 },
1259 {
1260 Clause::OMPC_priority,
1261 descriptor::Clause(
1262 "priority",
1263 {
1264 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1265 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1266 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1267 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "priority", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1268 {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}, {}}},
1269 {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}, {}}},
1270 {Version(70), {{{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}, {}}},
1271 }
1272 ),
1273 },
1274 {
1275 Clause::OMPC_private,
1276 descriptor::Clause(
1277 "private",
1278 {
1279 {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, {}, {}}},
1280 {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, {}, {}}},
1281 {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, {}, {}}},
1282 {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, {}, {}}},
1283 {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}, {}}},
1284 {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}, {}}},
1285 {Version(70), {{{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}, {}}},
1286 }
1287 ),
1288 },
1289 {
1290 Clause::OMPC_proc_bind,
1291 descriptor::Clause(
1292 "proc_bind",
1293 {
1294 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1295 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1296 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1297 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1298 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1299 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1300 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "proc_bind", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1301 }
1302 ),
1303 },
1304 {
1305 Clause::OMPC_read,
1306 descriptor::Clause(
1307 "read",
1308 {
1309 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1310 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1311 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1312 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1313 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1314 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1315 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "read", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1316 }
1317 ),
1318 },
1319 {
1320 Clause::OMPC_reduction,
1321 descriptor::Clause(
1322 "reduction",
1323 {
1324 {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}, {}}},
1325 {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}, {}}},
1326 {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}, {}}},
1327 {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}, {}}},
1328 {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}, {}}},
1329 {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}}},
1330 {Version(70), {{{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}}},
1331 }
1332 ),
1333 },
1334 {
1335 Clause::OMPC_reduction_kind,
1336 descriptor::Clause(
1337 "reduction_kind",
1338 {
1339 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "reduction_kind", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1340 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "reduction_kind", {Directive::OMPD_declare_reduction}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1341 }
1342 ),
1343 },
1344 {
1345 Clause::OMPC_relaxed,
1346 descriptor::Clause(
1347 "relaxed",
1348 {
1349 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1350 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1351 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1352 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1353 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1354 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "relaxed", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1355 }
1356 ),
1357 },
1358 {
1359 Clause::OMPC_release,
1360 descriptor::Clause(
1361 "release",
1362 {
1363 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1364 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1365 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1366 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1367 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1368 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "release", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1369 }
1370 ),
1371 },
1372 {
1373 Clause::OMPC_replayable,
1374 descriptor::Clause(
1375 "replayable",
1376 {
1377 {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}, {}}},
1378 {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}, {}}},
1379 {Version(70), {{{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}, {}}},
1380 }
1381 ),
1382 },
1383 {
1384 Clause::OMPC_reverse_offload,
1385 descriptor::Clause(
1386 "reverse_offload",
1387 {
1388 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1389 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1390 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1391 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1392 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1393 {Version(70), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "reverse_offload", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1394 }
1395 ),
1396 },
1397 {
1398 Clause::OMPC_safelen,
1399 descriptor::Clause(
1400 "safelen",
1401 {
1402 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1403 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1404 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1405 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1406 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1407 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1408 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safelen", {Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1409 }
1410 ),
1411 },
1412 {
1413 Clause::OMPC_safesync,
1414 descriptor::Clause(
1415 "safesync",
1416 {
1417 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1418 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1419 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "safesync", {Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1420 }
1421 ),
1422 },
1423 {
1424 Clause::OMPC_schedule,
1425 descriptor::Clause(
1426 "schedule",
1427 {
1428 {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}, {}}},
1429 {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}, {}}},
1430 {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}, {}}},
1431 {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}, {}}},
1432 {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}, {}}},
1433 {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}, {}}},
1434 {Version(70), {{{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}, {}}},
1435 }
1436 ),
1437 },
1438 {
1439 Clause::OMPC_self_maps,
1440 descriptor::Clause(
1441 "self_maps",
1442 {
1443 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1444 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1445 {Version(70), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "self_maps", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1446 }
1447 ),
1448 },
1449 {
1450 Clause::OMPC_seq_cst,
1451 descriptor::Clause(
1452 "seq_cst",
1453 {
1454 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1455 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1456 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1457 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1458 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1459 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1460 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "seq_cst", {Directive::OMPD_atomic, Directive::OMPD_flush}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1461 }
1462 ),
1463 },
1464 {
1465 Clause::OMPC_severity,
1466 descriptor::Clause(
1467 "severity",
1468 {
1469 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1470 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1471 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1472 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1473 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "severity", {Directive::OMPD_error, Directive::OMPD_parallel}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1474 }
1475 ),
1476 },
1477 {
1478 Clause::OMPC_shared,
1479 descriptor::Clause(
1480 "shared",
1481 {
1482 {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, {}, {}}},
1483 {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, {}, {}}},
1484 {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, {}, {}}},
1485 {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, {}, {}}},
1486 {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}, {}}},
1487 {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}, {}}},
1488 {Version(70), {{{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}, {}}},
1489 }
1490 ),
1491 },
1492 {
1493 Clause::OMPC_shift,
1494 descriptor::Clause(
1495 "shift",
1496 {
1497 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "shift", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1498 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "shift", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1499 }
1500 ),
1501 },
1502 {
1503 Clause::OMPC_simd,
1504 descriptor::Clause(
1505 "simd",
1506 {
1507 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1508 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1509 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1510 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1511 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1512 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1513 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "simd", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1514 }
1515 ),
1516 },
1517 {
1518 Clause::OMPC_simdlen,
1519 descriptor::Clause(
1520 "simdlen",
1521 {
1522 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1523 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1524 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1525 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1526 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1527 {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}, {}}},
1528 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "simdlen", {Directive::OMPD_declare_simd, Directive::OMPD_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::ScaledModifier}, {}}},
1529 }
1530 ),
1531 },
1532 {
1533 Clause::OMPC_sizes,
1534 descriptor::Clause(
1535 "sizes",
1536 {
1537 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1538 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1539 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_stripe, Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1540 {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}, {}}},
1541 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, "sizes", {Directive::OMPD_stripe, Directive::OMPD_tile}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::SizesSelector}, {}}},
1542 }
1543 ),
1544 },
1545 {
1546 Clause::OMPC_task_reduction,
1547 descriptor::Clause(
1548 "task_reduction",
1549 {
1550 {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}, {}}},
1551 {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}, {}}},
1552 {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}, {}}},
1553 {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}, {}}},
1554 {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}, {}}},
1555 {Version(70), {{{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}, {}}},
1556 }
1557 ),
1558 },
1559 {
1560 Clause::OMPC_thread_limit,
1561 descriptor::Clause(
1562 "thread_limit",
1563 {
1564 {Version(45), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1565 {Version(50), {{{Property::Compatible, Property::Free, Property::IcvModifying, Property::Optional, Property::TargetConsistent, Property::Unique}}, "thread_limit", {Directive::OMPD_teams}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1566 {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, {}, {}}},
1567 {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, {}, {}}},
1568 {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}, {}}},
1569 {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}, {}}},
1570 {Version(70), {{{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}, {}}},
1571 }
1572 ),
1573 },
1574 {
1575 Clause::OMPC_threads,
1576 descriptor::Clause(
1577 "threads",
1578 {
1579 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1580 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1581 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1582 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1583 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1584 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1585 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "threads", {Directive::OMPD_ordered_blockassoc}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1586 }
1587 ),
1588 },
1589 {
1590 Clause::OMPC_threadset,
1591 descriptor::Clause(
1592 "threadset",
1593 {
1594 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1595 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1596 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "threadset", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1597 }
1598 ),
1599 },
1600 {
1601 Clause::OMPC_to,
1602 descriptor::Clause(
1603 "to",
1604 {
1605 {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, {}, {}}},
1606 {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}, {}}},
1607 {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}, {}}},
1608 {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}, {}}},
1609 {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}, {}}},
1610 {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}, {}}},
1611 {Version(70), {{{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}, {}}},
1612 }
1613 ),
1614 },
1615 {
1616 Clause::OMPC_transparent,
1617 descriptor::Clause(
1618 "transparent",
1619 {
1620 {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}, {}}},
1621 {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}, {}}},
1622 {Version(70), {{{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}, {}}},
1623 }
1624 ),
1625 },
1626 {
1627 Clause::OMPC_unified_address,
1628 descriptor::Clause(
1629 "unified_address",
1630 {
1631 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1632 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1633 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1634 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1635 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1636 {Version(70), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_address", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1637 }
1638 ),
1639 },
1640 {
1641 Clause::OMPC_unified_shared_memory,
1642 descriptor::Clause(
1643 "unified_shared_memory",
1644 {
1645 {Version(50), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1646 {Version(51), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1647 {Version(52), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1648 {Version(60), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1649 {Version(61), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1650 {Version(70), {{{Property::Compatible, Property::DeviceGlobalRequirement, Property::Free, Property::Optional, Property::Unique}}, "unified_shared_memory", {Directive::OMPD_requires}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1651 }
1652 ),
1653 },
1654 {
1655 Clause::OMPC_uniform,
1656 descriptor::Clause(
1657 "uniform",
1658 {
1659 {Version(45), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1660 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1661 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1662 {Version(52), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1663 {Version(60), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1664 {Version(61), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1665 {Version(70), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uniform", {Directive::OMPD_declare_simd}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1666 }
1667 ),
1668 },
1669 {
1670 Clause::OMPC_untied,
1671 descriptor::Clause(
1672 "untied",
1673 {
1674 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1675 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1676 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1677 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1678 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1679 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1680 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, "untied", {Directive::OMPD_task, Directive::OMPD_taskloop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1681 }
1682 ),
1683 },
1684 {
1685 Clause::OMPC_update,
1686 descriptor::Clause(
1687 "update",
1688 {
1689 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1690 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1691 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1692 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1693 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1694 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1695 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1696 }
1697 ),
1698 },
1699 {
1700 Clause::OMPC_update_depend_objects,
1701 descriptor::Clause(
1702 "update-depend_objects",
1703 {
1704 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1705 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1706 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1707 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {}}},
1708 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {ModifierSet::UpdateDependObjectsModifierSet1}}},
1709 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "update", {Directive::OMPD_depobj}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier, Modifier::TaskDependenceType}, {ModifierSet::UpdateDependObjectsModifierSet1}}},
1710 }
1711 ),
1712 },
1713 {
1714 Clause::OMPC_use,
1715 descriptor::Clause(
1716 "use",
1717 {
1718 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1719 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1720 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1721 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1722 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "use", {Directive::OMPD_interop}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1723 }
1724 ),
1725 },
1726 {
1727 Clause::OMPC_use_device_addr,
1728 descriptor::Clause(
1729 "use_device_addr",
1730 {
1731 {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, {}, {}}},
1732 {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, {}, {}}},
1733 {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, {}, {}}},
1734 {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}, {}}},
1735 {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}, {}}},
1736 {Version(70), {{{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}, {}}},
1737 }
1738 ),
1739 },
1740 {
1741 Clause::OMPC_use_device_ptr,
1742 descriptor::Clause(
1743 "use_device_ptr",
1744 {
1745 {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, {}, {}}},
1746 {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, {}, {}}},
1747 {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, {}, {}}},
1748 {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, {}, {}}},
1749 {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}, {}}},
1750 {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}, {}}},
1751 {Version(70), {{{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}, {}}},
1752 }
1753 ),
1754 },
1755 {
1756 Clause::OMPC_uses_allocators,
1757 descriptor::Clause(
1758 "uses_allocators",
1759 {
1760 {Version(50), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1761 {Version(51), {{{Property::Compatible, Property::DataEnvironmentAttribute, Property::DataSharingAttribute, Property::Free, Property::Optional, Property::Repeatable}}, "uses_allocators", {Directive::OMPD_target}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1762 {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}, {}}},
1763 {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}, {}}},
1764 {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}, {}}},
1765 {Version(70), {{{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}, {}}},
1766 }
1767 ),
1768 },
1769 {
1770 Clause::OMPC_weak,
1771 descriptor::Clause(
1772 "weak",
1773 {
1774 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1775 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1776 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1777 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1778 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "weak", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1779 }
1780 ),
1781 },
1782 {
1783 Clause::OMPC_when,
1784 descriptor::Clause(
1785 "when",
1786 {
1787 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1788 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1789 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector}, {}}},
1790 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1791 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1792 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, "when", {Directive::OMPD_begin_metadirective, Directive::OMPD_metadirective}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::ContextSelector, Modifier::DirectiveNameModifier}, {}}},
1793 }
1794 ),
1795 },
1796 {
1797 Clause::OMPC_write,
1798 descriptor::Clause(
1799 "write",
1800 {
1801 {Version(45), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1802 {Version(50), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1803 {Version(51), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1804 {Version(52), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {}, {}}},
1805 {Version(60), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1806 {Version(61), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1807 {Version(70), {{{Property::Compatible, Property::Free, Property::InnermostLeaf, Property::Optional, Property::Unique}}, "write", {Directive::OMPD_atomic}, SourceLanguage::C | SourceLanguage::Fortran, {Modifier::DirectiveNameModifier}, {}}},
1808 }
1809 ),
1810 },
1811#endif // GEN_OMP_CLAUSE_DESCRIPTORS
1812#ifdef GEN_OMP_CLAUSE_GROUP_DESCRIPTORS
1813 {
1814 ClauseSet::Assumption,
1815 descriptor::ClauseSet(
1816 "assumption",
1817 {
1818 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1819 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1820 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1821 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1822 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_contains, Clause::OMPC_holds, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism}, {Directive::OMPD_assume, Directive::OMPD_assumes, Directive::OMPD_begin_assumes}}},
1823 }
1824 ),
1825 },
1826 {
1827 ClauseSet::Atomic,
1828 descriptor::ClauseSet(
1829 "atomic",
1830 {
1831 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1832 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1833 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1834 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1835 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1836 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1837 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_read, Clause::OMPC_update, Clause::OMPC_write}, {Directive::OMPD_atomic}}},
1838 }
1839 ),
1840 },
1841 {
1842 ClauseSet::Branch,
1843 descriptor::ClauseSet(
1844 "branch",
1845 {
1846 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1847 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1848 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1849 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1850 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1851 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1852 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_inbranch, Clause::OMPC_notinbranch}, {Directive::OMPD_declare_simd}}},
1853 }
1854 ),
1855 },
1856 {
1857 ClauseSet::CancelDirectiveName,
1858 descriptor::ClauseSet(
1859 "cancel-directive-name",
1860 {
1861 {Version(50), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1862 {Version(51), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1863 {Version(52), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1864 {Version(60), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1865 {Version(61), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1866 {Version(70), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_cancellation_construct_type}, {Directive::OMPD_cancel, Directive::OMPD_cancellation_point}}},
1867 }
1868 ),
1869 },
1870 {
1871 ClauseSet::ExtendedAtomic,
1872 descriptor::ClauseSet(
1873 "extended-atomic",
1874 {
1875 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture}, {Directive::OMPD_atomic}}},
1876 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture}, {Directive::OMPD_atomic}}},
1877 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1878 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1879 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1880 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1881 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_capture, Clause::OMPC_compare, Clause::OMPC_fail, Clause::OMPC_weak}, {Directive::OMPD_atomic}}},
1882 }
1883 ),
1884 },
1885 {
1886 ClauseSet::MemoryOrder,
1887 descriptor::ClauseSet(
1888 "memory-order",
1889 {
1890 {Version(45), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_seq_cst}, {Directive::OMPD_atomic}}},
1891 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1892 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1893 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1894 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1895 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1896 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_seq_cst}, {Directive::OMPD_atomic, Directive::OMPD_flush}}},
1897 }
1898 ),
1899 },
1900 {
1901 ClauseSet::ParallelizationLevel,
1902 descriptor::ClauseSet(
1903 "parallelization-level",
1904 {
1905 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1906 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1907 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1908 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1909 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1910 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simd, Clause::OMPC_threads}, {Directive::OMPD_ordered_blockassoc}}},
1911 }
1912 ),
1913 },
1914 {
1915 ClauseSet::Requirement,
1916 descriptor::ClauseSet(
1917 "requirement",
1918 {
1919 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1920 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1921 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1922 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_device_safesync, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_self_maps, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1923 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_device_safesync, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_self_maps, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1924 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_atomic_default_mem_order, Clause::OMPC_device_safesync, Clause::OMPC_dynamic_allocators, Clause::OMPC_reverse_offload, Clause::OMPC_self_maps, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory}, {Directive::OMPD_requires}}},
1925 }
1926 ),
1927 },
1928#endif // GEN_OMP_CLAUSE_GROUP_DESCRIPTORS
1929#ifdef GEN_OMP_CLAUSE_SET_DESCRIPTORS
1930 {
1931 ClauseSet::ActionClause,
1932 descriptor::ClauseSet(
1933 "action-clause",
1934 {
1935 {Version(51), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1936 {Version(52), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1937 {Version(60), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1938 {Version(61), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1939 {Version(70), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_use}, {Directive::OMPD_interop}}},
1940 }
1941 ),
1942 },
1943 {
1944 ClauseSet::DataEnvironmentClause,
1945 descriptor::ClauseSet(
1946 "data-environment-clause",
1947 {
1948 {Version(50), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1949 {Version(51), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1950 {Version(52), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1951 {Version(60), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1952 {Version(61), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1953 {Version(70), {{{Property::Required}}, {Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {Directive::OMPD_target_data}}},
1954 }
1955 ),
1956 },
1957 {
1958 ClauseSet::DeclareMapperClauseSet1,
1959 descriptor::ClauseSet(
1960 "declare_mapper_clause_set_1",
1961 {
1962 {Version(50), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1963 {Version(51), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1964 {Version(52), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1965 {Version(60), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1966 {Version(61), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1967 {Version(70), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_declare_mapper}}},
1968 }
1969 ),
1970 },
1971 {
1972 ClauseSet::DepobjClauseSet1,
1973 descriptor::ClauseSet(
1974 "depobj_clause_set_1",
1975 {
1976 {Version(50), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1977 {Version(51), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1978 {Version(52), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1979 {Version(60), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1980 {Version(61), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1981 {Version(70), {{{Property::Required}}, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {Directive::OMPD_depobj}}},
1982 }
1983 ),
1984 },
1985 {
1986 ClauseSet::GranularityClause,
1987 descriptor::ClauseSet(
1988 "granularity-clause",
1989 {
1990 {Version(45), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1991 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1992 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1993 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1994 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1995 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1996 {Version(70), {{{Property::Exclusive}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}, {Directive::OMPD_taskloop}}},
1997 }
1998 ),
1999 },
2000 {
2001 ClauseSet::ScanClauseSet1,
2002 descriptor::ClauseSet(
2003 "scan_clause_set_1",
2004 {
2005 {Version(50), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
2006 {Version(51), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
2007 {Version(52), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {Directive::OMPD_scan}}},
2008 {Version(60), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {Directive::OMPD_scan}}},
2009 {Version(61), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {Directive::OMPD_scan}}},
2010 {Version(70), {{{Property::Exclusive, Property::Required, Property::Unique}}, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {Directive::OMPD_scan}}},
2011 }
2012 ),
2013 },
2014 {
2015 ClauseSet::SingleClauseSet1,
2016 descriptor::ClauseSet(
2017 "single_clause_set_1",
2018 {
2019 {Version(45), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2020 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2021 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2022 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2023 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2024 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2025 {Version(70), {{{Property::Exclusive}}, {Clause::OMPC_copyprivate, Clause::OMPC_nowait}, {Directive::OMPD_single}}},
2026 }
2027 ),
2028 },
2029 {
2030 ClauseSet::SynchronizationClause,
2031 descriptor::ClauseSet(
2032 "synchronization-clause",
2033 {
2034 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2035 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2036 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2037 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2038 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2039 {Version(70), {{{Property::Exclusive}}, {Clause::OMPC_nogroup, Clause::OMPC_reduction}, {Directive::OMPD_taskloop}}},
2040 }
2041 ),
2042 },
2043 {
2044 ClauseSet::TargetDataClauseSet1,
2045 descriptor::ClauseSet(
2046 "target_data_clause_set_1",
2047 {
2048 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_data}}},
2049 }
2050 ),
2051 },
2052 {
2053 ClauseSet::TargetEnterDataClauseSet1,
2054 descriptor::ClauseSet(
2055 "target_enter_data_clause_set_1",
2056 {
2057 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2058 {Version(50), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2059 {Version(51), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2060 {Version(52), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2061 {Version(60), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2062 {Version(61), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2063 {Version(70), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_enter_data}}},
2064 }
2065 ),
2066 },
2067 {
2068 ClauseSet::TargetExitDataClauseSet1,
2069 descriptor::ClauseSet(
2070 "target_exit_data_clause_set_1",
2071 {
2072 {Version(45), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2073 {Version(50), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2074 {Version(51), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2075 {Version(52), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2076 {Version(60), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2077 {Version(61), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2078 {Version(70), {{{Property::Required}}, {Clause::OMPC_map}, {Directive::OMPD_target_exit_data}}},
2079 }
2080 ),
2081 },
2082 {
2083 ClauseSet::TargetUpdateClauseSet1,
2084 descriptor::ClauseSet(
2085 "target_update_clause_set_1",
2086 {
2087 {Version(45), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2088 {Version(50), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2089 {Version(51), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2090 {Version(52), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2091 {Version(60), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2092 {Version(61), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2093 {Version(70), {{{Property::Required}}, {Clause::OMPC_from, Clause::OMPC_to}, {Directive::OMPD_target_update}}},
2094 }
2095 ),
2096 },
2097 {
2098 ClauseSet::TaskClauseSet1,
2099 descriptor::ClauseSet(
2100 "task_clause_set_1",
2101 {
2102 {Version(50), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2103 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2104 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2105 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2106 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2107 {Version(70), {{{Property::Exclusive}}, {Clause::OMPC_detach, Clause::OMPC_mergeable}, {Directive::OMPD_task}}},
2108 }
2109 ),
2110 },
2111 {
2112 ClauseSet::UnrollClauseSet1,
2113 descriptor::ClauseSet(
2114 "unroll_clause_set_1",
2115 {
2116 {Version(51), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
2117 {Version(52), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
2118 {Version(60), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
2119 {Version(61), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
2120 {Version(70), {{{Property::Exclusive}}, {Clause::OMPC_full, Clause::OMPC_partial}, {Directive::OMPD_unroll}}},
2121 }
2122 ),
2123 },
2124#endif // GEN_OMP_CLAUSE_SET_DESCRIPTORS
2125#ifdef GEN_OMP_DIRECTIVE_DESCRIPTORS
2126 {
2127 Directive::OMPD_allocate,
2128 descriptor::Directive(
2129 "allocate",
2130 {
2131 {Version(50), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_allocator}, {}}},
2132 {Version(51), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
2133 {Version(52), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
2134 {Version(60), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
2135 {Version(61), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
2136 {Version(70), {{{Property::Pure}}, "allocate", Association::Explicit, Category::Declarative, {Clause::OMPC_align, Clause::OMPC_allocator}, {}}},
2137 }
2138 ),
2139 },
2140 {
2141 Directive::OMPD_allocators,
2142 descriptor::Directive(
2143 "allocators",
2144 {
2145 {Version(52), {{{}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
2146 {Version(60), {{{}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
2147 {Version(61), {{{Property::FortranOnly}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
2148 {Version(70), {{{Property::FortranOnly}}, "allocators", Association::Block, Category::Executable, {Clause::OMPC_allocate}, {}}},
2149 }
2150 ),
2151 },
2152 {
2153 Directive::OMPD_assume,
2154 descriptor::Directive(
2155 "assume",
2156 {
2157 {Version(51), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
2158 {Version(52), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
2159 {Version(60), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
2160 {Version(61), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
2161 {Version(70), {{{Property::Pure}}, "assume", Association::Block, Category::Informational, {}, {ClauseSet::Assumption}}},
2162 }
2163 ),
2164 },
2165 {
2166 Directive::OMPD_assumes,
2167 descriptor::Directive(
2168 "assumes",
2169 {
2170 {Version(51), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2171 {Version(52), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2172 {Version(60), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2173 {Version(61), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2174 {Version(70), {{{Property::Pure}}, "assumes", Association::Unassociated, Category::Informational, {}, {ClauseSet::Assumption}}},
2175 }
2176 ),
2177 },
2178 {
2179 Directive::OMPD_atomic,
2180 descriptor::Directive(
2181 "atomic",
2182 {
2183 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2184 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2185 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2186 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2187 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushAtEntry, Property::ImplicitStrongFlushAtExit, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint, Clause::OMPC_memscope}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2188 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushOnAtomic, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushOnAtomic, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushOnAtomic, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint, Clause::OMPC_memscope}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2189 {Version(70), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushOnAtomic, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushOnAtomic, Property::ImplicitStrongFlush, Property::ImplicitStrongFlushOnAtomic, Property::MutualExclusion, Property::OrderConcurrentNestable, Property::Simdizable}}, "atomic", Association::Block, Category::Executable, {Clause::OMPC_hint, Clause::OMPC_memscope}, {ClauseSet::Atomic, ClauseSet::ExtendedAtomic, ClauseSet::MemoryOrder}}},
2190 }
2191 ),
2192 },
2193 {
2194 Directive::OMPD_barrier,
2195 descriptor::Directive(
2196 "barrier",
2197 {
2198 {Version(45), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2199 {Version(50), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2200 {Version(51), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2201 {Version(52), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2202 {Version(60), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2203 {Version(61), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSynchronizing, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2204 {Version(70), {{{Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSynchronizing, Property::TeamExecuted}}, "barrier", Association::Unassociated, Category::Executable, {}, {}}},
2205 }
2206 ),
2207 },
2208 {
2209 Directive::OMPD_begin_assumes,
2210 descriptor::Directive(
2211 "begin_assumes",
2212 {
2213 {Version(51), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2214 {Version(52), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2215 {Version(60), {{{}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2216 {Version(61), {{{Property::CCOnly}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2217 {Version(70), {{{Property::CCOnly}}, "begin assumes", Association::Delimited, Category::Informational, {}, {ClauseSet::Assumption}}},
2218 }
2219 ),
2220 },
2221 {
2222 Directive::OMPD_begin_declare_target,
2223 descriptor::Directive(
2224 "begin_declare_target",
2225 {
2226 {Version(51), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2227 {Version(52), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2228 {Version(60), {{{Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare_target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2229 {Version(61), {{{Property::CCOnly, Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare_target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2230 {Version(70), {{{Property::CCOnly, Property::DeclareTarget, Property::Device, Property::VariantGenerating}}, "begin declare_target", Association::Delimited, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect}, {}}},
2231 }
2232 ),
2233 },
2234 {
2235 Directive::OMPD_begin_declare_variant,
2236 descriptor::Directive(
2237 "begin_declare_variant",
2238 {
2239 {Version(51), {{{}}, "begin declare variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2240 {Version(52), {{{}}, "begin declare variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2241 {Version(60), {{{}}, "begin declare_variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2242 {Version(61), {{{}}, "begin declare_variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2243 {Version(70), {{{}}, "begin declare_variant", Association::Delimited, Category::Declarative, {Clause::OMPC_match}, {}}},
2244 }
2245 ),
2246 },
2247 {
2248 Directive::OMPD_begin_metadirective,
2249 descriptor::Directive(
2250 "begin_metadirective",
2251 {
2252 {Version(50), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2253 {Version(51), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2254 {Version(52), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2255 {Version(60), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2256 {Version(61), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2257 {Version(70), {{{Property::Pure}}, "begin metadirective", Association::Delimited, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2258 }
2259 ),
2260 },
2261 {
2262 Directive::OMPD_cancel,
2263 descriptor::Directive(
2264 "cancel",
2265 {
2266 {Version(45), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_cancellation_construct_type, Clause::OMPC_if}, {}}},
2267 {Version(50), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2268 {Version(51), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2269 {Version(52), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2270 {Version(60), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2271 {Version(61), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2272 {Version(70), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancel", Association::Unassociated, Category::Executable, {Clause::OMPC_if}, {ClauseSet::CancelDirectiveName}}},
2273 }
2274 ),
2275 },
2276 {
2277 Directive::OMPD_cancellation_point,
2278 descriptor::Directive(
2279 "cancellation_point",
2280 {
2281 {Version(45), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {Clause::OMPC_cancellation_construct_type}, {}}},
2282 {Version(50), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2283 {Version(51), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2284 {Version(52), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2285 {Version(60), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation_point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2286 {Version(61), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation_point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2287 {Version(70), {{{Property::CancellationPoint, Property::ImplicitFlush}}, "cancellation_point", Association::Unassociated, Category::Executable, {}, {ClauseSet::CancelDirectiveName}}},
2288 }
2289 ),
2290 },
2291 {
2292 Directive::OMPD_critical,
2293 descriptor::Directive(
2294 "critical",
2295 {
2296 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2297 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2298 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2299 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2300 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2301 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2302 {Version(70), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::ThreadExclusive, Property::ThreadLimiting}}, "critical", Association::Block, Category::Executable, {Clause::OMPC_hint}, {}}},
2303 }
2304 ),
2305 },
2306 {
2307 Directive::OMPD_declare_induction,
2308 descriptor::Directive(
2309 "declare_induction",
2310 {
2311 {Version(60), {{{Property::Pure}}, "declare_induction", Association::Unassociated, Category::Declarative, {Clause::OMPC_collector, Clause::OMPC_inductor}, {}}},
2312 {Version(61), {{{Property::Pure}}, "declare_induction", Association::Unassociated, Category::Declarative, {Clause::OMPC_collector, Clause::OMPC_inductor}, {}}},
2313 {Version(70), {{{Property::Pure}}, "declare_induction", Association::Unassociated, Category::Declarative, {Clause::OMPC_collector, Clause::OMPC_inductor}, {}}},
2314 }
2315 ),
2316 },
2317 {
2318 Directive::OMPD_declare_mapper,
2319 descriptor::Directive(
2320 "declare_mapper",
2321 {
2322 {Version(50), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2323 {Version(51), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2324 {Version(52), {{{Property::Pure}}, "declare mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2325 {Version(60), {{{Property::Pure}}, "declare_mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2326 {Version(61), {{{Property::Pure}}, "declare_mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2327 {Version(70), {{{Property::Pure}}, "declare_mapper", Association::Unassociated, Category::Declarative, {Clause::OMPC_map}, {ClauseSet::DeclareMapperClauseSet1}}},
2328 }
2329 ),
2330 },
2331 {
2332 Directive::OMPD_declare_reduction,
2333 descriptor::Directive(
2334 "declare_reduction",
2335 {
2336 {Version(45), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2337 {Version(50), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2338 {Version(51), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2339 {Version(52), {{{Property::Pure}}, "declare reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_initializer}, {}}},
2340 {Version(60), {{{Property::Pure}}, "declare_reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_combiner, Clause::OMPC_initializer}, {}}},
2341 {Version(61), {{{Property::Pure}}, "declare_reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_combiner, Clause::OMPC_initializer, Clause::OMPC_reduction_kind}, {}}},
2342 {Version(70), {{{Property::Pure}}, "declare_reduction", Association::Unassociated, Category::Declarative, {Clause::OMPC_combiner, Clause::OMPC_initializer, Clause::OMPC_reduction_kind}, {}}},
2343 }
2344 ),
2345 },
2346 {
2347 Directive::OMPD_declare_simd,
2348 descriptor::Directive(
2349 "declare_simd",
2350 {
2351 {Version(45), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2352 {Version(50), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2353 {Version(51), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2354 {Version(52), {{{Property::Pure, Property::VariantGenerating}}, "declare simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2355 {Version(60), {{{Property::Pure, Property::VariantGenerating}}, "declare_simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2356 {Version(61), {{{Property::Pure, Property::VariantGenerating}}, "declare_simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2357 {Version(70), {{{Property::Pure, Property::VariantGenerating}}, "declare_simd", Association::Declaration, Category::Declarative, {Clause::OMPC_aligned, Clause::OMPC_linear, Clause::OMPC_simdlen, Clause::OMPC_uniform}, {ClauseSet::Branch}}},
2358 }
2359 ),
2360 },
2361 {
2362 Directive::OMPD_declare_target,
2363 descriptor::Directive(
2364 "declare_target",
2365 {
2366 {Version(45), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_link, Clause::OMPC_to}, {}}},
2367 {Version(50), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_link, Clause::OMPC_to}, {}}},
2368 {Version(51), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_to}, {}}},
2369 {Version(52), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link}, {}}},
2370 {Version(60), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare_target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_local}, {}}},
2371 {Version(61), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare_target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_local}, {}}},
2372 {Version(70), {{{Property::DeclareTarget, Property::Device, Property::Pure, Property::VariantGenerating}}, "declare_target", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type, Clause::OMPC_enter, Clause::OMPC_indirect, Clause::OMPC_link, Clause::OMPC_local}, {}}},
2373 }
2374 ),
2375 },
2376 {
2377 Directive::OMPD_declare_variant,
2378 descriptor::Directive(
2379 "declare_variant",
2380 {
2381 {Version(50), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_match}, {}}},
2382 {Version(51), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2383 {Version(52), {{{Property::Pure}}, "declare variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2384 {Version(60), {{{Property::Pure}}, "declare_variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2385 {Version(61), {{{Property::Pure}}, "declare_variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2386 {Version(70), {{{Property::Pure}}, "declare_variant", Association::Declaration, Category::Declarative, {Clause::OMPC_adjust_args, Clause::OMPC_append_args, Clause::OMPC_match}, {}}},
2387 }
2388 ),
2389 },
2390 {
2391 Directive::OMPD_depobj,
2392 descriptor::Directive(
2393 "depobj",
2394 {
2395 {Version(50), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2396 {Version(51), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2397 {Version(52), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2398 {Version(60), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2399 {Version(61), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2400 {Version(70), {{{}}, "depobj", Association::Unassociated, Category::Executable, {Clause::OMPC_destroy, Clause::OMPC_init, Clause::OMPC_update_depend_objects}, {ClauseSet::DepobjClauseSet1}}},
2401 }
2402 ),
2403 },
2404 {
2405 Directive::OMPD_dispatch,
2406 descriptor::Directive(
2407 "dispatch",
2408 {
2409 {Version(51), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2410 {Version(52), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2411 {Version(60), {{{Property::ContextMatching, Property::ImplicitTaskwait}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_has_device_addr, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2412 {Version(61), {{{Property::ContextMatching, Property::ImplicitTaskwait, Property::TaskSynchronizing}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_has_device_addr, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2413 {Version(70), {{{Property::ContextMatching, Property::ImplicitTaskwait, Property::TaskSynchronizing}}, "dispatch", Association::Block, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_has_device_addr, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_nocontext, Clause::OMPC_novariants, Clause::OMPC_nowait}, {}}},
2414 }
2415 ),
2416 },
2417 {
2418 Directive::OMPD_distribute,
2419 descriptor::Directive(
2420 "distribute",
2421 {
2422 {Version(45), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_private}, {}}},
2423 {Version(50), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_private}, {}}},
2424 {Version(51), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2425 {Version(52), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2426 {Version(60), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2427 {Version(61), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2428 {Version(70), {{{Property::Partitioned, Property::SimdPartitionable, Property::TeamsNestable, Property::WorkDistribution}}, "distribute", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_dist_schedule, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private}, {}}},
2429 }
2430 ),
2431 },
2432 {
2433 Directive::OMPD_do,
2434 descriptor::Directive(
2435 "do",
2436 {
2437 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2438 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2439 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2440 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2441 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2442 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::FortranOnly, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2443 {Version(70), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::FortranOnly, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "do", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2444 }
2445 ),
2446 },
2447 {
2448 Directive::OMPD_error,
2449 descriptor::Directive(
2450 "error",
2451 {
2452 {Version(51), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2453 {Version(52), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2454 {Version(60), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2455 {Version(61), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2456 {Version(70), {{{Property::Pure}}, "error", Association::Unassociated, Category::Utility, {Clause::OMPC_at, Clause::OMPC_message, Clause::OMPC_severity}, {}}},
2457 }
2458 ),
2459 },
2460 {
2461 Directive::OMPD_flatten,
2462 descriptor::Directive(
2463 "flatten",
2464 {
2465 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "flatten", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth}, {}}},
2466 {Version(70), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "flatten", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth}, {}}},
2467 }
2468 ),
2469 },
2470 {
2471 Directive::OMPD_flush,
2472 descriptor::Directive(
2473 "flush",
2474 {
2475 {Version(45), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {}}},
2476 {Version(50), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2477 {Version(51), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2478 {Version(52), {{{}}, "flush", Association::Unassociated, Category::Executable, {}, {ClauseSet::MemoryOrder}}},
2479 {Version(60), {{{}}, "flush", Association::Unassociated, Category::Executable, {Clause::OMPC_memscope}, {ClauseSet::MemoryOrder}}},
2480 {Version(61), {{{}}, "flush", Association::Unassociated, Category::Executable, {Clause::OMPC_memscope}, {ClauseSet::MemoryOrder}}},
2481 {Version(70), {{{}}, "flush", Association::Unassociated, Category::Executable, {Clause::OMPC_memscope}, {ClauseSet::MemoryOrder}}},
2482 }
2483 ),
2484 },
2485 {
2486 Directive::OMPD_for,
2487 descriptor::Directive(
2488 "for",
2489 {
2490 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2491 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2492 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2493 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2494 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2495 {Version(61), {{{Property::CCOnly, Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2496 {Version(70), {{{Property::CCOnly, Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::SimdPartitionable, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing, Property::WorksharingLoop}}, "for", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_firstprivate, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nowait, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_schedule}, {}}},
2497 }
2498 ),
2499 },
2500 {
2501 Directive::OMPD_fuse,
2502 descriptor::Directive(
2503 "fuse",
2504 {
2505 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "fuse", Association::LoopSequence, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_looprange}, {}}},
2506 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "fuse", Association::LoopSequence, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth, Clause::OMPC_looprange}, {}}},
2507 {Version(70), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "fuse", Association::LoopSequence, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_depth, Clause::OMPC_looprange}, {}}},
2508 }
2509 ),
2510 },
2511 {
2512 Directive::OMPD_groupprivate,
2513 descriptor::Directive(
2514 "groupprivate",
2515 {
2516 {Version(60), {{{Property::Pure}}, "groupprivate", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type}, {}}},
2517 {Version(61), {{{Property::Pure}}, "groupprivate", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type}, {}}},
2518 {Version(70), {{{Property::Pure}}, "groupprivate", Association::Explicit, Category::Declarative, {Clause::OMPC_device_type}, {}}},
2519 }
2520 ),
2521 },
2522 {
2523 Directive::OMPD_interchange,
2524 descriptor::Directive(
2525 "interchange",
2526 {
2527 {Version(60), {{{Property::LoopTransforming, Property::NonrectangularCompatible, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "interchange", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_permutation}, {}}},
2528 {Version(61), {{{Property::LoopTransforming, Property::NonrectangularComposable, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "interchange", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_permutation}, {}}},
2529 {Version(70), {{{Property::LoopTransforming, Property::NonrectangularComposable, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "interchange", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_permutation}, {}}},
2530 }
2531 ),
2532 },
2533 {
2534 Directive::OMPD_interop,
2535 descriptor::Directive(
2536 "interop",
2537 {
2538 {Version(51), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2539 {Version(52), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2540 {Version(60), {{{Property::Device}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2541 {Version(61), {{{Property::Device, Property::TaskSynchronizing}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2542 {Version(70), {{{Property::Device, Property::TaskSynchronizing}}, "interop", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_device, Clause::OMPC_init, Clause::OMPC_nowait, Clause::OMPC_use}, {ClauseSet::ActionClause}}},
2543 }
2544 ),
2545 },
2546 {
2547 Directive::OMPD_loop,
2548 descriptor::Directive(
2549 "loop",
2550 {
2551 {Version(50), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2552 {Version(51), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2553 {Version(52), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2554 {Version(60), {{{Property::OrderConcurrentNestable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2555 {Version(61), {{{Property::OrderConcurrentNestable, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2556 {Version(70), {{{Property::OrderConcurrentNestable, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamExecuted, Property::TeamsNestable, Property::WorkDistribution, Property::Worksharing}}, "loop", Association::LoopNest, Category::Executable, {Clause::OMPC_bind, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2557 }
2558 ),
2559 },
2560 {
2561 Directive::OMPD_masked,
2562 descriptor::Directive(
2563 "masked",
2564 {
2565 {Version(51), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2566 {Version(52), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2567 {Version(60), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2568 {Version(61), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2569 {Version(70), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "masked", Association::Block, Category::Executable, {Clause::OMPC_filter}, {}}},
2570 }
2571 ),
2572 },
2573 {
2574 Directive::OMPD_master,
2575 descriptor::Directive(
2576 "master",
2577 {
2578 {Version(45), {{{Property::ThreadLimiting}}, "master", Association::Block, Category::Executable, {}, {}}},
2579 {Version(50), {{{Property::ThreadLimiting, Property::ThreadSelecting}}, "master", Association::Block, Category::Executable, {}, {}}},
2580 }
2581 ),
2582 },
2583 {
2584 Directive::OMPD_metadirective,
2585 descriptor::Directive(
2586 "metadirective",
2587 {
2588 {Version(50), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2589 {Version(51), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_default_variant, Clause::OMPC_when}, {}}},
2590 {Version(52), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2591 {Version(60), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2592 {Version(61), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2593 {Version(70), {{{Property::Pure}}, "metadirective", Association::Unassociated, Category::Meta, {Clause::OMPC_otherwise, Clause::OMPC_when}, {}}},
2594 }
2595 ),
2596 },
2597 {
2598 Directive::OMPD_nothing,
2599 descriptor::Directive(
2600 "nothing",
2601 {
2602 {Version(51), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {}, {}}},
2603 {Version(52), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {}, {}}},
2604 {Version(60), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {Clause::OMPC_apply}, {}}},
2605 {Version(61), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {Clause::OMPC_apply}, {}}},
2606 {Version(70), {{{Property::LoopTransforming, Property::Pure}}, "nothing", Association::Unassociated, Category::Utility, {Clause::OMPC_apply}, {}}},
2607 }
2608 ),
2609 },
2610 {
2611 Directive::OMPD_ordered_blockassoc,
2612 descriptor::Directive(
2613 "ordered-blockassoc",
2614 {
2615 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {Clause::OMPC_simd, Clause::OMPC_threads}, {}}},
2616 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2617 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2618 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2619 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2620 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2621 {Version(70), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtExit, Property::MutualExclusion, Property::Simdizable, Property::ThreadExclusive, Property::ThreadLimiting}}, "ordered", Association::Block, Category::Executable, {}, {ClauseSet::ParallelizationLevel}}},
2622 }
2623 ),
2624 },
2625 {
2626 Directive::OMPD_ordered_standalone,
2627 descriptor::Directive(
2628 "ordered-standalone",
2629 {
2630 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2631 {Version(50), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2632 {Version(51), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2633 {Version(52), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2634 {Version(60), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2635 {Version(61), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2636 {Version(70), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::MutualExclusion}}, "ordered", Association::Unassociated, Category::Executable, {Clause::OMPC_doacross}, {}}},
2637 }
2638 ),
2639 },
2640 {
2641 Directive::OMPD_parallel,
2642 descriptor::Directive(
2643 "parallel",
2644 {
2645 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2646 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2647 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2648 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_shared}, {}}},
2649 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_safesync, Clause::OMPC_severity, Clause::OMPC_shared}, {}}},
2650 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::Orderable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSynchronizing, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_safesync, Clause::OMPC_severity, Clause::OMPC_shared}, {}}},
2651 {Version(70), {{{Property::Cancellable, Property::CancellationPoint, Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::OrderConcurrentNestable, Property::Orderable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSynchronizing, Property::TeamGenerating, Property::TeamsNestable, Property::ThreadLimiting, Property::ThreadsOrderable}}, "parallel", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyin, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_threads, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_reduction, Clause::OMPC_safesync, Clause::OMPC_severity, Clause::OMPC_shared}, {}}},
2652 }
2653 ),
2654 },
2655 {
2656 Directive::OMPD_requires,
2657 descriptor::Directive(
2658 "requires",
2659 {
2660 {Version(50), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2661 {Version(51), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2662 {Version(52), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2663 {Version(60), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2664 {Version(61), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2665 {Version(70), {{{}}, "requires", Association::Unassociated, Category::Informational, {}, {ClauseSet::Requirement}}},
2666 }
2667 ),
2668 },
2669 {
2670 Directive::OMPD_reverse,
2671 descriptor::Directive(
2672 "reverse",
2673 {
2674 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "reverse", Association::LoopNest, Category::Executable, {Clause::OMPC_apply}, {}}},
2675 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "reverse", Association::LoopNest, Category::Executable, {Clause::OMPC_apply}, {}}},
2676 {Version(70), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "reverse", Association::LoopNest, Category::Executable, {Clause::OMPC_apply}, {}}},
2677 }
2678 ),
2679 },
2680 {
2681 Directive::OMPD_scan,
2682 descriptor::Directive(
2683 "scan",
2684 {
2685 {Version(50), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2686 {Version(51), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2687 {Version(52), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive}, {ClauseSet::ScanClauseSet1}}},
2688 {Version(60), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {ClauseSet::ScanClauseSet1}}},
2689 {Version(61), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {ClauseSet::ScanClauseSet1}}},
2690 {Version(70), {{{Property::Pure}}, "scan", Association::Separating, Category::Subsidiary, {Clause::OMPC_exclusive, Clause::OMPC_inclusive, Clause::OMPC_init_complete}, {ClauseSet::ScanClauseSet1}}},
2691 }
2692 ),
2693 },
2694 {
2695 Directive::OMPD_scope,
2696 descriptor::Directive(
2697 "scope",
2698 {
2699 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2700 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2701 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2702 {Version(61), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2703 {Version(70), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadsOrderable, Property::WorkDistribution, Property::Worksharing}}, "scope", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2704 }
2705 ),
2706 },
2707 {
2708 Directive::OMPD_section,
2709 descriptor::Directive(
2710 "section",
2711 {
2712 {Version(45), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2713 {Version(50), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2714 {Version(51), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2715 {Version(52), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2716 {Version(60), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2717 {Version(61), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2718 {Version(70), {{{}}, "section", Association::Separating, Category::Subsidiary, {}, {}}},
2719 }
2720 ),
2721 },
2722 {
2723 Directive::OMPD_sections,
2724 descriptor::Directive(
2725 "sections",
2726 {
2727 {Version(45), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2728 {Version(50), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2729 {Version(51), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2730 {Version(52), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2731 {Version(60), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::SequentiallyOrderable, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2732 {Version(61), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2733 {Version(70), {{{Property::Cancellable, Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Orderable, Property::Partitioned, Property::SequentiallyOrderable, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::WorkDistribution, Property::Worksharing}}, "sections", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_firstprivate, Clause::OMPC_lastprivate, Clause::OMPC_nowait, Clause::OMPC_private, Clause::OMPC_reduction}, {}}},
2734 }
2735 ),
2736 },
2737 {
2738 Directive::OMPD_simd,
2739 descriptor::Directive(
2740 "simd",
2741 {
2742 {Version(45), {{{Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2743 {Version(50), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2744 {Version(51), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2745 {Version(52), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2746 {Version(60), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2747 {Version(61), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::Orderable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamsNestable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2748 {Version(70), {{{Property::ContextMatching, Property::OrderConcurrentNestable, Property::Orderable, Property::ParallelismGenerating, Property::Pure, Property::SequentiallyOrderable, Property::Simdizable, Property::TeamsNestable}}, "simd", Association::LoopNest, Category::Executable, {Clause::OMPC_aligned, Clause::OMPC_collapse, Clause::OMPC_if, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_nontemporal, Clause::OMPC_order, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_safelen, Clause::OMPC_simdlen}, {}}},
2749 }
2750 ),
2751 },
2752 {
2753 Directive::OMPD_single,
2754 descriptor::Directive(
2755 "single",
2756 {
2757 {Version(45), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2758 {Version(50), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2759 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2760 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2761 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2762 {Version(61), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2763 {Version(70), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::ThreadLimiting, Property::ThreadSelecting, Property::WorkDistribution, Property::Worksharing}}, "single", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_copyprivate, Clause::OMPC_firstprivate, Clause::OMPC_nowait, Clause::OMPC_private}, {ClauseSet::SingleClauseSet1}}},
2764 }
2765 ),
2766 },
2767 {
2768 Directive::OMPD_split,
2769 descriptor::Directive(
2770 "split",
2771 {
2772 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "split", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_counts}, {}}},
2773 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "split", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_counts}, {}}},
2774 {Version(70), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "split", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_counts}, {}}},
2775 }
2776 ),
2777 },
2778 {
2779 Directive::OMPD_stripe,
2780 descriptor::Directive(
2781 "stripe",
2782 {
2783 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "stripe", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2784 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "stripe", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2785 {Version(70), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "stripe", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2786 }
2787 ),
2788 },
2789 {
2790 Directive::OMPD_target,
2791 descriptor::Directive(
2792 "target",
2793 {
2794 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private}, {}}},
2795 {Version(50), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_uses_allocators}, {}}},
2796 {Version(51), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2797 {Version(52), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2798 {Version(60), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_device_type, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2799 {Version(61), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_device_type, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_message, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2800 {Version(70), {{{Property::ContextMatching, Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExceptionAborting, Property::ExplicitTaskGenerating, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamGenerating, Property::ThreadLimiting}}, "target", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_device_type, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_has_device_addr, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_is_device_ptr, Clause::OMPC_map, Clause::OMPC_message, Clause::OMPC_nowait, Clause::OMPC_ompx_bare, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_thread_limit, Clause::OMPC_uses_allocators}, {}}},
2801 }
2802 ),
2803 },
2804 {
2805 Directive::OMPD_target_data,
2806 descriptor::Directive(
2807 "target_data",
2808 {
2809 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_ptr}, {ClauseSet::TargetDataClauseSet1}}},
2810 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2811 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2812 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target data", Association::Block, Category::Executable, {Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2813 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::SharingTask, Property::SimpleComposite, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_data", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_map, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_transparent, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2814 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::SharingTask, Property::SimpleComposite, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_data", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_map, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_transparent, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2815 {Version(70), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::MapEntering, Property::MapExiting, Property::ParallelismGenerating, Property::SharingTask, Property::SimpleComposite, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_data", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_map, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_transparent, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr}, {ClauseSet::DataEnvironmentClause}}},
2816 }
2817 ),
2818 },
2819 {
2820 Directive::OMPD_target_enter_data,
2821 descriptor::Directive(
2822 "target_enter_data",
2823 {
2824 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2825 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2826 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2827 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target enter data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetEnterDataClauseSet1}}},
2828 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_enter_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetEnterDataClauseSet1}}},
2829 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_enter_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetEnterDataClauseSet1}}},
2830 {Version(70), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapEntering, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_enter_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetEnterDataClauseSet1}}},
2831 }
2832 ),
2833 },
2834 {
2835 Directive::OMPD_target_exit_data,
2836 descriptor::Directive(
2837 "target_exit_data",
2838 {
2839 {Version(45), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2840 {Version(50), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2841 {Version(51), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2842 {Version(52), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target exit data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait}, {ClauseSet::TargetExitDataClauseSet1}}},
2843 {Version(60), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_exit_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetExitDataClauseSet1}}},
2844 {Version(61), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_exit_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetExitDataClauseSet1}}},
2845 {Version(70), {{{Property::DataMapping, Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::MapExiting, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_exit_data", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_if, Clause::OMPC_map, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable}, {ClauseSet::TargetExitDataClauseSet1}}},
2846 }
2847 ),
2848 },
2849 {
2850 Directive::OMPD_target_update,
2851 descriptor::Directive(
2852 "target_update",
2853 {
2854 {Version(45), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2855 {Version(50), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2856 {Version(51), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2857 {Version(52), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2858 {Version(60), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "target_update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2859 {Version(61), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2860 {Version(70), {{{Property::Device, Property::DeviceAffecting, Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "target_update", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_device, Clause::OMPC_from, Clause::OMPC_if, Clause::OMPC_nowait, Clause::OMPC_priority, Clause::OMPC_replayable, Clause::OMPC_to}, {ClauseSet::TargetUpdateClauseSet1}}},
2861 }
2862 ),
2863 },
2864 {
2865 Directive::OMPD_task,
2866 descriptor::Directive(
2867 "task",
2868 {
2869 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {}}},
2870 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2871 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2872 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2873 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2874 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2875 {Version(70), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ParallelismGenerating, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable, Property::ThreadLimiting}}, "task", Association::Block, Category::Executable, {Clause::OMPC_affinity, Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_depend, Clause::OMPC_detach, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_mergeable, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::TaskClauseSet1}}},
2876 }
2877 ),
2878 },
2879 {
2880 Directive::OMPD_task_iteration,
2881 descriptor::Directive(
2882 "task_iteration",
2883 {
2884 {Version(60), {{{}}, "task_iteration", Association::Unassociated, Category::Subsidiary, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_if}, {}}},
2885 {Version(61), {{{Property::TaskSynchronizing}}, "task_iteration", Association::Unassociated, Category::Subsidiary, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_if}, {}}},
2886 {Version(70), {{{Property::TaskSynchronizing}}, "task_iteration", Association::Unassociated, Category::Subsidiary, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_if}, {}}},
2887 }
2888 ),
2889 },
2890 {
2891 Directive::OMPD_taskgraph,
2892 descriptor::Directive(
2893 "taskgraph",
2894 {
2895 {Version(60), {{{Property::ImplicitTaskgroup, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskgraph", Association::Block, Category::Executable, {Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_if, Clause::OMPC_nogroup, Clause::OMPC_priority}, {}}},
2896 {Version(61), {{{Property::ImplicitTaskgroup, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "taskgraph", Association::Block, Category::Executable, {Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_if, Clause::OMPC_nogroup, Clause::OMPC_priority}, {}}},
2897 {Version(70), {{{Property::ImplicitTaskgroup, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing}}, "taskgraph", Association::Block, Category::Executable, {Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_if, Clause::OMPC_nogroup, Clause::OMPC_priority}, {}}},
2898 }
2899 ),
2900 },
2901 {
2902 Directive::OMPD_taskgroup,
2903 descriptor::Directive(
2904 "taskgroup",
2905 {
2906 {Version(45), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {}, {}}},
2907 {Version(50), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2908 {Version(51), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2909 {Version(52), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2910 {Version(60), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2911 {Version(61), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2912 {Version(70), {{{Property::Cancellable, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskgroup", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_task_reduction}, {}}},
2913 }
2914 ),
2915 },
2916 {
2917 Directive::OMPD_taskloop,
2918 descriptor::Directive(
2919 "taskloop",
2920 {
2921 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause}}},
2922 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2923 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2924 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2925 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2926 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2927 {Version(70), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskgroup, Property::ParallelismGenerating, Property::SimdPartitionable, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskloop", Association::LoopNest, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_collapse, Clause::OMPC_default, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_grainsize, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_induction, Clause::OMPC_lastprivate, Clause::OMPC_mergeable, Clause::OMPC_nogroup, Clause::OMPC_num_tasks, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_replayable, Clause::OMPC_shared, Clause::OMPC_threadset, Clause::OMPC_transparent, Clause::OMPC_untied}, {ClauseSet::GranularityClause, ClauseSet::SynchronizationClause}}},
2928 }
2929 ),
2930 },
2931 {
2932 Directive::OMPD_taskwait,
2933 descriptor::Directive(
2934 "taskwait",
2935 {
2936 {Version(45), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {}, {}}},
2937 {Version(50), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend}, {}}},
2938 {Version(51), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait}, {}}},
2939 {Version(52), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait}, {}}},
2940 {Version(60), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait, Clause::OMPC_replayable}, {}}},
2941 {Version(61), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait, Clause::OMPC_replayable}, {}}},
2942 {Version(70), {{{Property::ExplicitTaskGenerating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::TaskGenerating, Property::TaskSchedulingPoint, Property::TaskSchedulingPointAfterTaskGeneration, Property::TaskSchedulingPointAtEntry, Property::TaskSchedulingPointAtExit, Property::TaskSynchronizing, Property::TeamsNestable}}, "taskwait", Association::Unassociated, Category::Executable, {Clause::OMPC_depend, Clause::OMPC_nowait, Clause::OMPC_replayable}, {}}},
2943 }
2944 ),
2945 },
2946 {
2947 Directive::OMPD_taskyield,
2948 descriptor::Directive(
2949 "taskyield",
2950 {
2951 {Version(45), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2952 {Version(50), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2953 {Version(51), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2954 {Version(52), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2955 {Version(60), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2956 {Version(61), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TeamsNestable}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2957 {Version(70), {{{Property::TaskSchedulingPoint, Property::TaskSchedulingPointAtExit, Property::TeamsNestable}}, "taskyield", Association::Unassociated, Category::Executable, {}, {}}},
2958 }
2959 ),
2960 },
2961 {
2962 Directive::OMPD_teams,
2963 descriptor::Directive(
2964 "teams",
2965 {
2966 {Version(45), {{{Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2967 {Version(50), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2968 {Version(51), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2969 {Version(52), {{{Property::ContextMatching, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2970 {Version(60), {{{Property::ContextMatching, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2971 {Version(61), {{{Property::ContextMatching, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::Orderable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2972 {Version(70), {{{Property::ContextMatching, Property::GroupprivateInstantiating, Property::ImplicitAcquireFlush, Property::ImplicitAcquireFlushAtEntry, Property::ImplicitAcquireFlushAtExit, Property::ImplicitFlush, Property::ImplicitReleaseFlush, Property::ImplicitReleaseFlushAtEntry, Property::ImplicitReleaseFlushAtExit, Property::ImplicitTaskGenerating, Property::LeagueGenerating, Property::Orderable, Property::ParallelismGenerating, Property::TaskGenerating, Property::TeamGenerating, Property::TeamsOrderable, Property::ThreadLimiting}}, "teams", Association::Block, Category::Executable, {Clause::OMPC_allocate, Clause::OMPC_default, Clause::OMPC_dyn_groupprivate, Clause::OMPC_firstprivate, Clause::OMPC_if, Clause::OMPC_message, Clause::OMPC_num_teams, Clause::OMPC_ompx_bare, Clause::OMPC_private, Clause::OMPC_reduction, Clause::OMPC_shared, Clause::OMPC_thread_limit}, {}}},
2973 }
2974 ),
2975 },
2976 {
2977 Directive::OMPD_threadprivate,
2978 descriptor::Directive(
2979 "threadprivate",
2980 {
2981 {Version(45), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2982 {Version(50), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2983 {Version(51), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2984 {Version(52), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2985 {Version(60), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2986 {Version(61), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2987 {Version(70), {{{Property::Pure}}, "threadprivate", Association::Explicit, Category::Declarative, {}, {}}},
2988 }
2989 ),
2990 },
2991 {
2992 Directive::OMPD_tile,
2993 descriptor::Directive(
2994 "tile",
2995 {
2996 {Version(51), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_sizes}, {}}},
2997 {Version(52), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_sizes}, {}}},
2998 {Version(60), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_sizes}, {}}},
2999 {Version(61), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_shift, Clause::OMPC_sizes}, {}}},
3000 {Version(70), {{{Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "tile", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_shift, Clause::OMPC_sizes}, {}}},
3001 }
3002 ),
3003 },
3004 {
3005 Directive::OMPD_unroll,
3006 descriptor::Directive(
3007 "unroll",
3008 {
3009 {Version(51), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
3010 {Version(52), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
3011 {Version(60), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
3012 {Version(61), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
3013 {Version(70), {{{Property::GenerallyComposable, Property::LoopTransforming, Property::OrderConcurrentNestable, Property::Pure, Property::Simdizable, Property::TeamsNestable}}, "unroll", Association::LoopNest, Category::Executable, {Clause::OMPC_apply, Clause::OMPC_full, Clause::OMPC_partial}, {ClauseSet::UnrollClauseSet1}}},
3014 }
3015 ),
3016 },
3017 {
3018 Directive::OMPD_workdistribute,
3019 descriptor::Directive(
3020 "workdistribute",
3021 {
3022 {Version(60), {{{Property::Partitioned, Property::WorkDistribution}}, "workdistribute", Association::Block, Category::Executable, {}, {}}},
3023 {Version(61), {{{Property::FortranOnly, Property::Partitioned, Property::TeamsNestable, Property::WorkDistribution}}, "workdistribute", Association::Block, Category::Executable, {}, {}}},
3024 {Version(70), {{{Property::FortranOnly, Property::Partitioned, Property::TeamsNestable, Property::WorkDistribution}}, "workdistribute", Association::Block, Category::Executable, {}, {}}},
3025 }
3026 ),
3027 },
3028 {
3029 Directive::OMPD_workshare,
3030 descriptor::Directive(
3031 "workshare",
3032 {
3033 {Version(45), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3034 {Version(50), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3035 {Version(51), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3036 {Version(52), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3037 {Version(60), {{{Property::CancellationPoint, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3038 {Version(61), {{{Property::CancellationPoint, Property::FortranOnly, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3039 {Version(70), {{{Property::CancellationPoint, Property::FortranOnly, Property::ImplicitBarrier, Property::ImplicitBarrierFlushes, Property::ImplicitFlush, Property::Partitioned, Property::TaskSynchronizing, Property::TeamExecuted, Property::WorkDistribution, Property::Worksharing}}, "workshare", Association::Block, Category::Executable, {Clause::OMPC_nowait}, {}}},
3040 }
3041 ),
3042 },
3043#endif // GEN_OMP_DIRECTIVE_DESCRIPTORS
3044#ifdef GEN_OMP_MODIFIER_DESCRIPTORS
3045 {
3046 Modifier::AccessGroup,
3047 descriptor::Modifier(
3048 "access-group",
3049 {
3050 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
3051 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
3052 }
3053 ),
3054 },
3055 {
3056 Modifier::AdjustOp,
3057 descriptor::Modifier(
3058 "adjust-op",
3059 {
3060 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3061 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3062 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3063 }
3064 ),
3065 },
3066 {
3067 Modifier::AlignModifier,
3068 descriptor::Modifier(
3069 "align-modifier",
3070 {
3071 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3072 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3073 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3074 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3075 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3076 }
3077 ),
3078 },
3079 {
3080 Modifier::Alignment,
3081 descriptor::Modifier(
3082 "alignment",
3083 {
3084 {Version(45), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3085 {Version(50), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3086 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3087 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::RegionInvariant, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3088 {Version(60), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3089 {Version(61), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3090 {Version(70), {{{Property::Compatible, Property::Constant, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_aligned}}},
3091 }
3092 ),
3093 },
3094 {
3095 Modifier::AllocatorComplexModifier,
3096 descriptor::Modifier(
3097 "allocator-complex-modifier",
3098 {
3099 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3100 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3101 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3102 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3103 }
3104 ),
3105 },
3106 {
3107 Modifier::AllocatorSimpleModifier,
3108 descriptor::Modifier(
3109 "allocator-simple-modifier",
3110 {
3111 {Version(50), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3112 {Version(51), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3113 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3114 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3115 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3116 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_allocate}}},
3117 }
3118 ),
3119 },
3120 {
3121 Modifier::AlwaysModifier,
3122 descriptor::Modifier(
3123 "always-modifier",
3124 {
3125 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3126 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3127 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3128 }
3129 ),
3130 },
3131 {
3132 Modifier::AttachModifier,
3133 descriptor::Modifier(
3134 "attach-modifier",
3135 {
3136 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3137 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3138 }
3139 ),
3140 },
3141 {
3142 Modifier::AutomapModifier,
3143 descriptor::Modifier(
3144 "automap-modifier",
3145 {
3146 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
3147 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
3148 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_enter}}},
3149 }
3150 ),
3151 },
3152 {
3153 Modifier::ChunkModifier,
3154 descriptor::Modifier(
3155 "chunk-modifier",
3156 {
3157 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3158 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3159 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3160 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3161 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3162 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3163 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3164 }
3165 ),
3166 },
3167 {
3168 Modifier::CloseModifier,
3169 descriptor::Modifier(
3170 "close-modifier",
3171 {
3172 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3173 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3174 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3175 }
3176 ),
3177 },
3178 {
3179 Modifier::ContextSelector,
3180 descriptor::Modifier(
3181 "context-selector",
3182 {
3183 {Version(50), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3184 {Version(51), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3185 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3186 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3187 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3188 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_when}}},
3189 }
3190 ),
3191 },
3192 {
3193 Modifier::DefaultModifier,
3194 descriptor::Modifier(
3195 "default-modifier",
3196 {
3197 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3198 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3199 }
3200 ),
3201 },
3202 {
3203 Modifier::DeleteModifier,
3204 descriptor::Modifier(
3205 "delete-modifier",
3206 {
3207 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3208 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3209 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3210 }
3211 ),
3212 },
3213 {
3214 Modifier::DependenceType,
3215 descriptor::Modifier(
3216 "dependence-type",
3217 {
3218 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3219 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3220 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3221 {Version(52), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
3222 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
3223 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
3224 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_doacross}}},
3225 }
3226 ),
3227 },
3228 {
3229 Modifier::DepinfoModifier,
3230 descriptor::Modifier(
3231 "depinfo-modifier",
3232 {
3233 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3234 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3235 {Version(70), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3236 }
3237 ),
3238 },
3239 {
3240 Modifier::DepobjModifier,
3241 descriptor::Modifier(
3242 "depobj-modifier",
3243 {
3244 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3245 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3246 }
3247 ),
3248 },
3249 {
3250 Modifier::DeviceModifier,
3251 descriptor::Modifier(
3252 "device-modifier",
3253 {
3254 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3255 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3256 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3257 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3258 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3259 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_device}}},
3260 }
3261 ),
3262 },
3263 {
3264 Modifier::DimsModifier,
3265 descriptor::Modifier(
3266 "dims-modifier",
3267 {
3268 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
3269 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
3270 }
3271 ),
3272 },
3273 {
3274 Modifier::DirectiveNameModifier,
3275 descriptor::Modifier(
3276 "directive-name-modifier",
3277 {
3278 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3279 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3280 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3281 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_if}}},
3282 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_adjust_args, Clause::OMPC_affinity, Clause::OMPC_align, Clause::OMPC_aligned, Clause::OMPC_allocate, Clause::OMPC_allocator, Clause::OMPC_append_args, Clause::OMPC_apply, Clause::OMPC_at, Clause::OMPC_atomic_default_mem_order, Clause::OMPC_bind, Clause::OMPC_cancellation_construct_type, Clause::OMPC_capture, Clause::OMPC_collapse, Clause::OMPC_collector, Clause::OMPC_combiner, Clause::OMPC_compare, Clause::OMPC_contains, Clause::OMPC_copyin, Clause::OMPC_copyprivate, Clause::OMPC_counts, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_destroy, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_device_safesync, Clause::OMPC_device_type, Clause::OMPC_dist_schedule, Clause::OMPC_doacross, Clause::OMPC_dynamic_allocators, Clause::OMPC_enter, Clause::OMPC_exclusive, Clause::OMPC_fail, Clause::OMPC_filter, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_from, Clause::OMPC_full, Clause::OMPC_grainsize, Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_has_device_addr, Clause::OMPC_hint, Clause::OMPC_holds, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_inbranch, Clause::OMPC_inclusive, Clause::OMPC_indirect, Clause::OMPC_induction, Clause::OMPC_inductor, Clause::OMPC_init, Clause::OMPC_init_complete, Clause::OMPC_initializer, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_link, Clause::OMPC_local, Clause::OMPC_looprange, Clause::OMPC_map, Clause::OMPC_match, Clause::OMPC_memscope, Clause::OMPC_mergeable, Clause::OMPC_message, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism, Clause::OMPC_nocontext, Clause::OMPC_nogroup, Clause::OMPC_nontemporal, Clause::OMPC_notinbranch, Clause::OMPC_novariants, Clause::OMPC_nowait, Clause::OMPC_num_tasks, Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_ompx_bare, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_otherwise, Clause::OMPC_partial, Clause::OMPC_permutation, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_read, Clause::OMPC_reduction, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_replayable, Clause::OMPC_reverse_offload, Clause::OMPC_safelen, Clause::OMPC_safesync, Clause::OMPC_schedule, Clause::OMPC_self_maps, Clause::OMPC_seq_cst, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_simd, Clause::OMPC_simdlen, Clause::OMPC_sizes, Clause::OMPC_task_reduction, Clause::OMPC_thread_limit, Clause::OMPC_threads, Clause::OMPC_threadset, Clause::OMPC_to, Clause::OMPC_transparent, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory, Clause::OMPC_uniform, Clause::OMPC_untied, Clause::OMPC_update, Clause::OMPC_update_depend_objects, Clause::OMPC_use, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr, Clause::OMPC_uses_allocators, Clause::OMPC_weak, Clause::OMPC_when, Clause::OMPC_write}}},
3283 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_adjust_args, Clause::OMPC_affinity, Clause::OMPC_align, Clause::OMPC_aligned, Clause::OMPC_allocate, Clause::OMPC_allocator, Clause::OMPC_append_args, Clause::OMPC_apply, Clause::OMPC_at, Clause::OMPC_atomic_default_mem_order, Clause::OMPC_bind, Clause::OMPC_cancellation_construct_type, Clause::OMPC_capture, Clause::OMPC_collapse, Clause::OMPC_collector, Clause::OMPC_combiner, Clause::OMPC_compare, Clause::OMPC_contains, Clause::OMPC_copyin, Clause::OMPC_copyprivate, Clause::OMPC_counts, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_depth, Clause::OMPC_destroy, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_device_safesync, Clause::OMPC_device_type, Clause::OMPC_dist_schedule, Clause::OMPC_doacross, Clause::OMPC_dyn_groupprivate, Clause::OMPC_dynamic_allocators, Clause::OMPC_enter, Clause::OMPC_exclusive, Clause::OMPC_fail, Clause::OMPC_filter, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_from, Clause::OMPC_full, Clause::OMPC_grainsize, Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_has_device_addr, Clause::OMPC_hint, Clause::OMPC_holds, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_inbranch, Clause::OMPC_inclusive, Clause::OMPC_indirect, Clause::OMPC_induction, Clause::OMPC_inductor, Clause::OMPC_init, Clause::OMPC_init_complete, Clause::OMPC_initializer, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_link, Clause::OMPC_local, Clause::OMPC_looprange, Clause::OMPC_map, Clause::OMPC_match, Clause::OMPC_memscope, Clause::OMPC_mergeable, Clause::OMPC_message, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism, Clause::OMPC_nocontext, Clause::OMPC_nogroup, Clause::OMPC_nontemporal, Clause::OMPC_notinbranch, Clause::OMPC_novariants, Clause::OMPC_nowait, Clause::OMPC_num_tasks, Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_ompx_bare, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_otherwise, Clause::OMPC_partial, Clause::OMPC_permutation, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_read, Clause::OMPC_reduction, Clause::OMPC_reduction_kind, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_replayable, Clause::OMPC_reverse_offload, Clause::OMPC_safelen, Clause::OMPC_safesync, Clause::OMPC_schedule, Clause::OMPC_self_maps, Clause::OMPC_seq_cst, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_shift, Clause::OMPC_simd, Clause::OMPC_simdlen, Clause::OMPC_sizes, Clause::OMPC_task_reduction, Clause::OMPC_thread_limit, Clause::OMPC_threads, Clause::OMPC_threadset, Clause::OMPC_to, Clause::OMPC_transparent, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory, Clause::OMPC_uniform, Clause::OMPC_untied, Clause::OMPC_update, Clause::OMPC_update_depend_objects, Clause::OMPC_use, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr, Clause::OMPC_uses_allocators, Clause::OMPC_weak, Clause::OMPC_when, Clause::OMPC_write}}},
3284 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_absent, Clause::OMPC_acq_rel, Clause::OMPC_acquire, Clause::OMPC_adjust_args, Clause::OMPC_affinity, Clause::OMPC_align, Clause::OMPC_aligned, Clause::OMPC_allocate, Clause::OMPC_allocator, Clause::OMPC_append_args, Clause::OMPC_apply, Clause::OMPC_at, Clause::OMPC_atomic_default_mem_order, Clause::OMPC_bind, Clause::OMPC_cancellation_construct_type, Clause::OMPC_capture, Clause::OMPC_collapse, Clause::OMPC_collector, Clause::OMPC_combiner, Clause::OMPC_compare, Clause::OMPC_contains, Clause::OMPC_copyin, Clause::OMPC_copyprivate, Clause::OMPC_counts, Clause::OMPC_default, Clause::OMPC_defaultmap, Clause::OMPC_depend, Clause::OMPC_depth, Clause::OMPC_destroy, Clause::OMPC_detach, Clause::OMPC_device, Clause::OMPC_device_safesync, Clause::OMPC_device_type, Clause::OMPC_dist_schedule, Clause::OMPC_doacross, Clause::OMPC_dyn_groupprivate, Clause::OMPC_dynamic_allocators, Clause::OMPC_enter, Clause::OMPC_exclusive, Clause::OMPC_fail, Clause::OMPC_filter, Clause::OMPC_final, Clause::OMPC_firstprivate, Clause::OMPC_from, Clause::OMPC_full, Clause::OMPC_grainsize, Clause::OMPC_graph_id, Clause::OMPC_graph_reset, Clause::OMPC_has_device_addr, Clause::OMPC_hint, Clause::OMPC_holds, Clause::OMPC_if, Clause::OMPC_in_reduction, Clause::OMPC_inbranch, Clause::OMPC_inclusive, Clause::OMPC_indirect, Clause::OMPC_induction, Clause::OMPC_inductor, Clause::OMPC_init, Clause::OMPC_init_complete, Clause::OMPC_initializer, Clause::OMPC_interop, Clause::OMPC_is_device_ptr, Clause::OMPC_lastprivate, Clause::OMPC_linear, Clause::OMPC_link, Clause::OMPC_local, Clause::OMPC_looprange, Clause::OMPC_map, Clause::OMPC_match, Clause::OMPC_memscope, Clause::OMPC_mergeable, Clause::OMPC_message, Clause::OMPC_no_openmp, Clause::OMPC_no_openmp_constructs, Clause::OMPC_no_openmp_routines, Clause::OMPC_no_parallelism, Clause::OMPC_nocontext, Clause::OMPC_nogroup, Clause::OMPC_nontemporal, Clause::OMPC_notinbranch, Clause::OMPC_novariants, Clause::OMPC_nowait, Clause::OMPC_num_tasks, Clause::OMPC_num_teams, Clause::OMPC_num_threads, Clause::OMPC_ompx_bare, Clause::OMPC_order, Clause::OMPC_ordered, Clause::OMPC_otherwise, Clause::OMPC_partial, Clause::OMPC_permutation, Clause::OMPC_priority, Clause::OMPC_private, Clause::OMPC_proc_bind, Clause::OMPC_read, Clause::OMPC_reduction, Clause::OMPC_reduction_kind, Clause::OMPC_relaxed, Clause::OMPC_release, Clause::OMPC_replayable, Clause::OMPC_reverse_offload, Clause::OMPC_safelen, Clause::OMPC_safesync, Clause::OMPC_schedule, Clause::OMPC_self_maps, Clause::OMPC_seq_cst, Clause::OMPC_severity, Clause::OMPC_shared, Clause::OMPC_shift, Clause::OMPC_simd, Clause::OMPC_simdlen, Clause::OMPC_sizes, Clause::OMPC_task_reduction, Clause::OMPC_thread_limit, Clause::OMPC_threads, Clause::OMPC_threadset, Clause::OMPC_to, Clause::OMPC_transparent, Clause::OMPC_unified_address, Clause::OMPC_unified_shared_memory, Clause::OMPC_uniform, Clause::OMPC_untied, Clause::OMPC_update, Clause::OMPC_update_depend_objects, Clause::OMPC_use, Clause::OMPC_use_device_addr, Clause::OMPC_use_device_ptr, Clause::OMPC_uses_allocators, Clause::OMPC_weak, Clause::OMPC_when, Clause::OMPC_write}}},
3285 }
3286 ),
3287 },
3288 {
3289 Modifier::Expectation,
3290 descriptor::Modifier(
3291 "expectation",
3292 {
3293 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
3294 }
3295 ),
3296 },
3297 {
3298 Modifier::Fallback,
3299 descriptor::Modifier(
3300 "fallback",
3301 {
3302 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_use_device_ptr}}},
3303 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_use_device_ptr}}},
3304 }
3305 ),
3306 },
3307 {
3308 Modifier::FallbackModifier,
3309 descriptor::Modifier(
3310 "fallback-modifier",
3311 {
3312 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
3313 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_dyn_groupprivate}}},
3314 }
3315 ),
3316 },
3317 {
3318 Modifier::InductionIdentifier,
3319 descriptor::Modifier(
3320 "induction-identifier",
3321 {
3322 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
3323 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
3324 {Version(70), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_induction}}},
3325 }
3326 ),
3327 },
3328 {
3329 Modifier::InductionModifier,
3330 descriptor::Modifier(
3331 "induction-modifier",
3332 {
3333 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
3334 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
3335 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_induction}}},
3336 }
3337 ),
3338 },
3339 {
3340 Modifier::InscanModifier,
3341 descriptor::Modifier(
3342 "inscan-modifier",
3343 {
3344 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3345 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3346 }
3347 ),
3348 },
3349 {
3350 Modifier::InteropType,
3351 descriptor::Modifier(
3352 "interop-type",
3353 {
3354 {Version(51), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
3355 {Version(52), {{{Property::Compatible, Property::Free, Property::Repeatable, Property::Required}}, {Clause::OMPC_init}}},
3356 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Repeatable}}, {Clause::OMPC_init}}},
3357 }
3358 ),
3359 },
3360 {
3361 Modifier::Iterator,
3362 descriptor::Modifier(
3363 "iterator",
3364 {
3365 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend}}},
3366 {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}}},
3367 {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}}},
3368 {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}}},
3369 {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}}},
3370 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_affinity, Clause::OMPC_depend, Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3371 }
3372 ),
3373 },
3374 {
3375 Modifier::LastprivateModifier,
3376 descriptor::Modifier(
3377 "lastprivate-modifier",
3378 {
3379 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3380 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3381 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3382 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3383 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3384 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_lastprivate}}},
3385 }
3386 ),
3387 },
3388 {
3389 Modifier::LinearModifier,
3390 descriptor::Modifier(
3391 "linear-modifier",
3392 {
3393 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3394 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3395 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3396 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3397 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3398 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3399 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3400 }
3401 ),
3402 },
3403 {
3404 Modifier::LinearStep,
3405 descriptor::Modifier(
3406 "linear-step",
3407 {
3408 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3409 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3410 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3411 }
3412 ),
3413 },
3414 {
3415 Modifier::LocModifier,
3416 descriptor::Modifier(
3417 "loc-modifier",
3418 {
3419 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3420 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend}}},
3421 }
3422 ),
3423 },
3424 {
3425 Modifier::LoopModifier,
3426 descriptor::Modifier(
3427 "loop-modifier",
3428 {
3429 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
3430 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
3431 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_apply}}},
3432 }
3433 ),
3434 },
3435 {
3436 Modifier::LowerBound,
3437 descriptor::Modifier(
3438 "lower-bound",
3439 {
3440 {Version(50), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3441 {Version(51), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3442 {Version(52), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3443 {Version(60), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3444 {Version(61), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3445 {Version(70), {{{Property::Compatible, Property::Optional, Property::Positive, Property::Ultimate, Property::Unique}}, {Clause::OMPC_num_teams}}},
3446 }
3447 ),
3448 },
3449 {
3450 Modifier::MapType,
3451 descriptor::Modifier(
3452 "map-type",
3453 {
3454 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3455 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3456 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3457 {Version(52), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_map}}},
3458 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3459 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3460 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3461 }
3462 ),
3463 },
3464 {
3465 Modifier::MapTypeModifier,
3466 descriptor::Modifier(
3467 "map-type-modifier",
3468 {
3469 {Version(45), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3470 {Version(50), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3471 {Version(51), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3472 {Version(52), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Repeatable}}, {Clause::OMPC_map}}},
3473 }
3474 ),
3475 },
3476 {
3477 Modifier::Mapper,
3478 descriptor::Modifier(
3479 "mapper",
3480 {
3481 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3482 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3483 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3484 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3485 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3486 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3487 }
3488 ),
3489 },
3490 {
3491 Modifier::MemSpace,
3492 descriptor::Modifier(
3493 "mem-space",
3494 {
3495 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3496 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3497 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3498 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3499 }
3500 ),
3501 },
3502 {
3503 Modifier::MotionModifier,
3504 descriptor::Modifier(
3505 "motion-modifier",
3506 {
3507 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_to}}},
3508 }
3509 ),
3510 },
3511 {
3512 Modifier::NeedDeviceAddr,
3513 descriptor::Modifier(
3514 "need-device-addr",
3515 {
3516 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3517 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3518 }
3519 ),
3520 },
3521 {
3522 Modifier::NeedDevicePtr,
3523 descriptor::Modifier(
3524 "need-device-ptr",
3525 {
3526 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3527 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3528 }
3529 ),
3530 },
3531 {
3532 Modifier::NoncommutativeModifier,
3533 descriptor::Modifier(
3534 "noncommutative-modifier",
3535 {
3536 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3537 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3538 }
3539 ),
3540 },
3541 {
3542 Modifier::Nothing,
3543 descriptor::Modifier(
3544 "nothing",
3545 {
3546 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3547 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_adjust_args}}},
3548 }
3549 ),
3550 },
3551 {
3552 Modifier::OmpxHoldModifier,
3553 descriptor::Modifier(
3554 "ompx-hold-modifier",
3555 {
3556 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3557 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3558 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3559 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3560 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3561 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3562 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3563 }
3564 ),
3565 },
3566 {
3567 Modifier::OptionalModifier,
3568 descriptor::Modifier(
3569 "optional-modifier",
3570 {
3571 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3572 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3573 }
3574 ),
3575 },
3576 {
3577 Modifier::OrderModifier,
3578 descriptor::Modifier(
3579 "order-modifier",
3580 {
3581 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3582 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3583 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3584 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3585 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_order}}},
3586 }
3587 ),
3588 },
3589 {
3590 Modifier::OrderingModifier,
3591 descriptor::Modifier(
3592 "ordering-modifier",
3593 {
3594 {Version(45), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3595 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3596 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3597 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3598 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3599 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3600 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_schedule}}},
3601 }
3602 ),
3603 },
3604 {
3605 Modifier::OriginalSharingModifier,
3606 descriptor::Modifier(
3607 "original-sharing-modifier",
3608 {
3609 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3610 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3611 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3612 }
3613 ),
3614 },
3615 {
3616 Modifier::PerThreadModifier,
3617 descriptor::Modifier(
3618 "per-thread-modifier",
3619 {
3620 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3621 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3622 }
3623 ),
3624 },
3625 {
3626 Modifier::PreferType,
3627 descriptor::Modifier(
3628 "prefer-type",
3629 {
3630 {Version(60), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3631 {Version(61), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3632 {Version(70), {{{Property::Compatible, Property::Complex, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3633 }
3634 ),
3635 },
3636 {
3637 Modifier::Prescriptiveness,
3638 descriptor::Modifier(
3639 "prescriptiveness",
3640 {
3641 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3642 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3643 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks, Clause::OMPC_num_threads}}},
3644 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3645 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_grainsize, Clause::OMPC_num_tasks}}},
3646 }
3647 ),
3648 },
3649 {
3650 Modifier::PrescriptivenessModifier,
3651 descriptor::Modifier(
3652 "prescriptiveness-modifier",
3653 {
3654 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
3655 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_num_threads, Clause::OMPC_thread_limit}}},
3656 }
3657 ),
3658 },
3659 {
3660 Modifier::PresentModifier,
3661 descriptor::Modifier(
3662 "present-modifier",
3663 {
3664 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3665 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3666 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_from, Clause::OMPC_map, Clause::OMPC_to}}},
3667 }
3668 ),
3669 },
3670 {
3671 Modifier::ReductionIdentifier,
3672 descriptor::Modifier(
3673 "reduction-identifier",
3674 {
3675 {Version(45), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_reduction}}},
3676 {Version(50), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3677 {Version(51), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3678 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3679 {Version(60), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3680 {Version(61), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3681 {Version(70), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_in_reduction, Clause::OMPC_reduction, Clause::OMPC_task_reduction}}},
3682 }
3683 ),
3684 },
3685 {
3686 Modifier::ReductionModifier,
3687 descriptor::Modifier(
3688 "reduction-modifier",
3689 {
3690 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3691 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3692 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3693 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3694 }
3695 ),
3696 },
3697 {
3698 Modifier::RefModifier,
3699 descriptor::Modifier(
3700 "ref-modifier",
3701 {
3702 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3703 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3704 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3705 }
3706 ),
3707 },
3708 {
3709 Modifier::Saved,
3710 descriptor::Modifier(
3711 "saved",
3712 {
3713 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
3714 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
3715 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_firstprivate}}},
3716 }
3717 ),
3718 },
3719 {
3720 Modifier::ScaledModifier,
3721 descriptor::Modifier(
3722 "scaled-modifier",
3723 {
3724 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simdlen}}},
3725 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_simdlen}}},
3726 }
3727 ),
3728 },
3729 {
3730 Modifier::SelfModifier,
3731 descriptor::Modifier(
3732 "self-modifier",
3733 {
3734 {Version(60), {{{Property::Compatible, Property::Free, Property::MapTypeModifying, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3735 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3736 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_map}}},
3737 }
3738 ),
3739 },
3740 {
3741 Modifier::SizesSelector,
3742 descriptor::Modifier(
3743 "sizes-selector",
3744 {
3745 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_sizes}}},
3746 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_sizes}}},
3747 }
3748 ),
3749 },
3750 {
3751 Modifier::StepComplexModifier,
3752 descriptor::Modifier(
3753 "step-complex-modifier",
3754 {
3755 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3756 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3757 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3758 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_linear}}},
3759 }
3760 ),
3761 },
3762 {
3763 Modifier::StepModifier,
3764 descriptor::Modifier(
3765 "step-modifier",
3766 {
3767 {Version(60), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
3768 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
3769 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_induction}}},
3770 }
3771 ),
3772 },
3773 {
3774 Modifier::StepSimpleModifier,
3775 descriptor::Modifier(
3776 "step-simple-modifier",
3777 {
3778 {Version(52), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3779 {Version(60), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3780 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3781 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::RegionInvariant, Property::Unique}}, {Clause::OMPC_linear}}},
3782 }
3783 ),
3784 },
3785 {
3786 Modifier::TargetType,
3787 descriptor::Modifier(
3788 "target-type",
3789 {
3790 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3791 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3792 }
3793 ),
3794 },
3795 {
3796 Modifier::TargetsyncType,
3797 descriptor::Modifier(
3798 "targetsync-type",
3799 {
3800 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3801 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_init}}},
3802 }
3803 ),
3804 },
3805 {
3806 Modifier::TaskDependenceType,
3807 descriptor::Modifier(
3808 "task-dependence-type",
3809 {
3810 {Version(45), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3811 {Version(50), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3812 {Version(51), {{{Property::Compatible, Property::Optional, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3813 {Version(52), {{{Property::Compatible, Property::Required, Property::Ultimate, Property::Unique}}, {Clause::OMPC_depend}}},
3814 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
3815 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
3816 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_depend, Clause::OMPC_update_depend_objects}}},
3817 }
3818 ),
3819 },
3820 {
3821 Modifier::TaskModifier,
3822 descriptor::Modifier(
3823 "task-modifier",
3824 {
3825 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3826 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_reduction}}},
3827 }
3828 ),
3829 },
3830 {
3831 Modifier::TraitsArray,
3832 descriptor::Modifier(
3833 "traits-array",
3834 {
3835 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3836 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3837 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3838 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_uses_allocators}}},
3839 }
3840 ),
3841 },
3842 {
3843 Modifier::VariableCategory,
3844 descriptor::Modifier(
3845 "variable-category",
3846 {
3847 {Version(45), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Clause::OMPC_defaultmap}}},
3848 {Version(50), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_defaultmap}}},
3849 {Version(51), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_defaultmap}}},
3850 {Version(52), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_defaultmap}}},
3851 {Version(60), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3852 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3853 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3854 }
3855 ),
3856 },
3857#endif // GEN_OMP_MODIFIER_DESCRIPTORS
3858#ifdef GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
3859 {
3860 ModifierSet::AdjustOp,
3861 descriptor::ModifierSet(
3862 "adjust-op",
3863 {
3864 {Version(61), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Modifier::NeedDeviceAddr, Modifier::NeedDevicePtr, Modifier::Nothing}, {Clause::OMPC_adjust_args}}},
3865 {Version(70), {{{Property::Exclusive, Property::Free, Property::Required, Property::Unique}}, {Modifier::NeedDeviceAddr, Modifier::NeedDevicePtr, Modifier::Nothing}, {Clause::OMPC_adjust_args}}},
3866 }
3867 ),
3868 },
3869 {
3870 ModifierSet::DependListType,
3871 descriptor::ModifierSet(
3872 "depend-list-type",
3873 {
3874 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DepobjModifier, Modifier::LocModifier}, {Clause::OMPC_depend}}},
3875 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DepobjModifier, Modifier::LocModifier}, {Clause::OMPC_depend}}},
3876 }
3877 ),
3878 },
3879 {
3880 ModifierSet::InteropType,
3881 descriptor::ModifierSet(
3882 "interop-type",
3883 {
3884 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::TargetType, Modifier::TargetsyncType}, {Clause::OMPC_init}}},
3885 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::TargetType, Modifier::TargetsyncType}, {Clause::OMPC_init}}},
3886 }
3887 ),
3888 },
3889 {
3890 ModifierSet::MapTypeModifying,
3891 descriptor::ModifierSet(
3892 "map-type-modifying",
3893 {
3894 {Version(61), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::AlwaysModifier, Modifier::CloseModifier, Modifier::DeleteModifier, Modifier::PresentModifier, Modifier::SelfModifier}, {Clause::OMPC_map}}},
3895 {Version(70), {{{Property::Compatible, Property::Free, Property::Optional, Property::Unique}}, {Modifier::AlwaysModifier, Modifier::CloseModifier, Modifier::DeleteModifier, Modifier::PresentModifier, Modifier::SelfModifier}, {Clause::OMPC_map}}},
3896 }
3897 ),
3898 },
3899 {
3900 ModifierSet::ReductionType,
3901 descriptor::ModifierSet(
3902 "reduction-type",
3903 {
3904 {Version(61), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DefaultModifier, Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::TaskModifier}, {Clause::OMPC_reduction}}},
3905 {Version(70), {{{Property::Exclusive, Property::Free, Property::Optional, Property::Unique}}, {Modifier::DefaultModifier, Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::TaskModifier}, {Clause::OMPC_reduction}}},
3906 }
3907 ),
3908 },
3909 {
3910 ModifierSet::VariableSelector,
3911 descriptor::ModifierSet(
3912 "variable-selector",
3913 {
3914 {Version(61), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Modifier::OptionalModifier, Modifier::VariableCategory}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3915 {Version(70), {{{Property::Compatible, Property::Free, Property::Required, Property::Unique}}, {Modifier::OptionalModifier, Modifier::VariableCategory}, {Clause::OMPC_default, Clause::OMPC_defaultmap}}},
3916 }
3917 ),
3918 },
3919#endif // GEN_OMP_MODIFIER_GROUP_DESCRIPTORS
3920#ifdef GEN_OMP_MODIFIER_SET_DESCRIPTORS
3921 {
3922 ModifierSet::DependModifierSet1,
3923 descriptor::ModifierSet(
3924 "depend_modifier_set_1",
3925 {
3926 {Version(45), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3927 {Version(50), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3928 {Version(51), {{{Property::Exclusive, Property::Required}}, {Modifier::DependenceType, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3929 {Version(61), {{{Property::Exclusive}}, {Modifier::DepobjModifier, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3930 {Version(70), {{{Property::Exclusive}}, {Modifier::DepobjModifier, Modifier::TaskDependenceType}, {Clause::OMPC_depend}}},
3931 }
3932 ),
3933 },
3934 {
3935 ModifierSet::NumTeamsModifierSet1,
3936 descriptor::ModifierSet(
3937 "num_teams_modifier_set_1",
3938 {
3939 {Version(61), {{{Property::Exclusive}}, {Modifier::DimsModifier, Modifier::LowerBound}, {Clause::OMPC_num_teams}}},
3940 {Version(70), {{{Property::Exclusive}}, {Modifier::DimsModifier, Modifier::LowerBound}, {Clause::OMPC_num_teams}}},
3941 }
3942 ),
3943 },
3944 {
3945 ModifierSet::ReductionModifierSet1,
3946 descriptor::ModifierSet(
3947 "reduction_modifier_set_1",
3948 {
3949 {Version(61), {{{Property::Exclusive}}, {Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::PerThreadModifier}, {Clause::OMPC_reduction}}},
3950 {Version(70), {{{Property::Exclusive}}, {Modifier::InscanModifier, Modifier::NoncommutativeModifier, Modifier::PerThreadModifier}, {Clause::OMPC_reduction}}},
3951 }
3952 ),
3953 },
3954 {
3955 ModifierSet::UpdateDependObjectsModifierSet1,
3956 descriptor::ModifierSet(
3957 "update-depend_objects_modifier_set_1",
3958 {
3959 {Version(61), {{{Property::Required}}, {Modifier::TaskDependenceType}, {Clause::OMPC_update_depend_objects}}},
3960 {Version(70), {{{Property::Required}}, {Modifier::TaskDependenceType}, {Clause::OMPC_update_depend_objects}}},
3961 }
3962 ),
3963 },
3964#endif // GEN_OMP_MODIFIER_SET_DESCRIPTORS
3965 // clang-format on