Lines Matching refs:construct
28 TYPE_PARSER(construct<OmpDefaultClause>(
35 TYPE_PARSER(construct<OmpProcBindClause>(
42 TYPE_PARSER(construct<OmpMapType>(
43 maybe("ALWAYS" >> construct<OmpMapType::Always>() / maybe(","_tok)),
52 TYPE_PARSER(construct<OmpMapClause>(
60 TYPE_PARSER(construct<OmpDefaultmapClause>(
61 construct<OmpDefaultmapClause::ImplicitBehavior>(
71 construct<OmpDefaultmapClause::VariableCategory>(
84 TYPE_PARSER(construct<OmpScheduleModifierType>(
89 TYPE_PARSER(construct<OmpScheduleModifier>(Parser<OmpScheduleModifierType>{},
92 TYPE_PARSER(construct<OmpScheduleClause>(maybe(Parser<OmpScheduleModifier>{}),
101 TYPE_PARSER(construct<OmpIfClause>(
119 TYPE_PARSER(construct<OmpReductionOperator>(Parser<DefinedOperator>{}) ||
120 construct<OmpReductionOperator>(Parser<ProcedureDesignator>{}))
122 TYPE_PARSER(construct<OmpReductionClause>(
126 TYPE_PARSER(construct<OmpInReductionClause>(
130 TYPE_PARSER(construct<OmpAllocateClause>(
131 maybe(construct<OmpAllocateClause::Allocator>(scalarIntExpr) / ":"),
135 TYPE_PARSER(construct<OmpDependSinkVecLength>(
139 construct<OmpDependSinkVec>(name, maybe(Parser<OmpDependSinkVecLength>{})))
142 construct<OmpDependenceType>("IN"_id >> pure(OmpDependenceType::Type::In) ||
147 construct<OmpDependClause>(construct<OmpDependClause::Sink>(
149 construct<OmpDependClause>(
150 construct<OmpDependClause::Source>("SOURCE"_tok)) ||
151 construct<OmpDependClause>(construct<OmpDependClause::InOut>(
158 construct<OmpLinearModifier>("REF" >> pure(OmpLinearModifier::Type::Ref) ||
163 construct<OmpLinearClause>(
164 construct<OmpLinearClause>(construct<OmpLinearClause::WithModifier>(
167 construct<OmpLinearClause>(construct<OmpLinearClause::WithoutModifier>(
171 TYPE_PARSER(construct<OmpAlignedClause>(
175 construct<OmpObject>(designator) || construct<OmpObject>("/" >> name / "/"))
178 "ACQUIRE" >> construct<OmpClause>(construct<OmpClause::Acquire>()) ||
179 "ACQ_REL" >> construct<OmpClause>(construct<OmpClause::AcqRel>()) ||
180 "ALIGNED" >> construct<OmpClause>(construct<OmpClause::Aligned>(
182 "ALLOCATE" >> construct<OmpClause>(construct<OmpClause::Allocate>(
184 "ALLOCATOR" >> construct<OmpClause>(construct<OmpClause::Allocator>(
186 "COLLAPSE" >> construct<OmpClause>(construct<OmpClause::Collapse>(
188 "COPYIN" >> construct<OmpClause>(construct<OmpClause::Copyin>(
190 "COPYPRIVATE" >> construct<OmpClause>(construct<OmpClause::Copyprivate>(
192 "DEFAULT"_id >> construct<OmpClause>(construct<OmpClause::Default>(
194 "DEFAULTMAP" >> construct<OmpClause>(construct<OmpClause::Defaultmap>(
196 "DEPEND" >> construct<OmpClause>(construct<OmpClause::Depend>(
198 "DEVICE" >> construct<OmpClause>(construct<OmpClause::Device>(
201 construct<OmpClause>(construct<OmpClause::DistSchedule>(
203 "FINAL" >> construct<OmpClause>(construct<OmpClause::Final>(
205 "FIRSTPRIVATE" >> construct<OmpClause>(construct<OmpClause::Firstprivate>(
207 "FROM" >> construct<OmpClause>(construct<OmpClause::From>(
209 "GRAINSIZE" >> construct<OmpClause>(construct<OmpClause::Grainsize>(
211 "HINT" >> construct<OmpClause>(
212 construct<OmpClause::Hint>(parenthesized(constantExpr))) ||
213 "IF" >> construct<OmpClause>(construct<OmpClause::If>(
215 "INBRANCH" >> construct<OmpClause>(construct<OmpClause::Inbranch>()) ||
216 "IS_DEVICE_PTR" >> construct<OmpClause>(construct<OmpClause::IsDevicePtr>(
218 "LASTPRIVATE" >> construct<OmpClause>(construct<OmpClause::Lastprivate>(
220 "LINEAR" >> construct<OmpClause>(construct<OmpClause::Linear>(
222 "LINK" >> construct<OmpClause>(construct<OmpClause::Link>(
224 "MAP" >> construct<OmpClause>(construct<OmpClause::Map>(
226 "MERGEABLE" >> construct<OmpClause>(construct<OmpClause::Mergeable>()) ||
227 "NOGROUP" >> construct<OmpClause>(construct<OmpClause::Nogroup>()) ||
228 "NONTEMPORAL" >> construct<OmpClause>(construct<OmpClause::Nontemporal>(
231 construct<OmpClause>(construct<OmpClause::Notinbranch>()) ||
232 "NOWAIT" >> construct<OmpClause>(construct<OmpClause::Nowait>()) ||
233 "NUM_TASKS" >> construct<OmpClause>(construct<OmpClause::NumTasks>(
235 "NUM_TEAMS" >> construct<OmpClause>(construct<OmpClause::NumTeams>(
237 "NUM_THREADS" >> construct<OmpClause>(construct<OmpClause::NumThreads>(
239 "ORDERED" >> construct<OmpClause>(construct<OmpClause::Ordered>(
241 "PRIORITY" >> construct<OmpClause>(construct<OmpClause::Priority>(
243 "PRIVATE" >> construct<OmpClause>(construct<OmpClause::Private>(
245 "PROC_BIND" >> construct<OmpClause>(construct<OmpClause::ProcBind>(
247 "REDUCTION" >> construct<OmpClause>(construct<OmpClause::Reduction>(
249 "IN_REDUCTION" >> construct<OmpClause>(construct<OmpClause::InReduction>(
252 construct<OmpClause>(construct<OmpClause::TaskReduction>(
254 "RELAXED" >> construct<OmpClause>(construct<OmpClause::Relaxed>()) ||
255 "RELEASE" >> construct<OmpClause>(construct<OmpClause::Release>()) ||
256 "SAFELEN" >> construct<OmpClause>(construct<OmpClause::Safelen>(
258 "SCHEDULE" >> construct<OmpClause>(construct<OmpClause::Schedule>(
260 "SEQ_CST" >> construct<OmpClause>(construct<OmpClause::SeqCst>()) ||
261 "SHARED" >> construct<OmpClause>(construct<OmpClause::Shared>(
263 "SIMD"_id >> construct<OmpClause>(construct<OmpClause::Simd>()) ||
264 "SIMDLEN" >> construct<OmpClause>(construct<OmpClause::Simdlen>(
266 "THREADS" >> construct<OmpClause>(construct<OmpClause::Threads>()) ||
267 "THREAD_LIMIT" >> construct<OmpClause>(construct<OmpClause::ThreadLimit>(
269 "TO" >> construct<OmpClause>(construct<OmpClause::To>(
271 "USE_DEVICE_PTR" >> construct<OmpClause>(construct<OmpClause::UseDevicePtr>(
273 "UNIFORM" >> construct<OmpClause>(construct<OmpClause::Uniform>(
275 "UNTIED" >> construct<OmpClause>(construct<OmpClause::Untied>()))
278 TYPE_PARSER(sourced(construct<OmpClauseList>(
282 TYPE_PARSER(construct<OmpObjectList>(nonemptyList(Parser<OmpObject>{})))
285 TYPE_PARSER(sourced(construct<OmpLoopDirective>(first(
320 TYPE_PARSER(sourced(construct<OmpBeginLoopDirective>(
324 TYPE_PARSER(sourced(construct<OmpCancelType>(
331 TYPE_PARSER(sourced(construct<OpenMPCancellationPointConstruct>(
335 TYPE_PARSER(sourced(construct<OpenMPCancelConstruct>(verbatim("CANCEL"_tok),
345 TYPE_PARSER(sourced(construct<OmpMemoryOrderClause>(
346 sourced("SEQ_CST" >> construct<OmpClause>(construct<OmpClause::SeqCst>()) ||
347 "ACQ_REL" >> construct<OmpClause>(construct<OmpClause::AcqRel>()) ||
348 "RELEASE" >> construct<OmpClause>(construct<OmpClause::Release>()) ||
349 "ACQUIRE" >> construct<OmpClause>(construct<OmpClause::Acquire>()) ||
350 "RELAXED" >> construct<OmpClause>(construct<OmpClause::Relaxed>())))))
354 TYPE_PARSER(sourced(construct<OmpAtomicClause>(
355 construct<OmpAtomicClause>(Parser<OmpMemoryOrderClause>{}) ||
356 construct<OmpAtomicClause>("HINT" >>
357 sourced(construct<OmpClause>(
358 construct<OmpClause::Hint>(parenthesized(constantExpr))))))))
361 TYPE_PARSER(sourced(construct<OmpAtomicClauseList>(
364 TYPE_PARSER(sourced(construct<OpenMPFlushConstruct>(verbatim("FLUSH"_tok),
369 TYPE_PARSER(sourced(construct<OmpSimpleStandaloneDirective>(first(
378 TYPE_PARSER(sourced(construct<OpenMPSimpleStandaloneConstruct>(
383 sourced(construct<OpenMPStandaloneConstruct>(
385 construct<OpenMPStandaloneConstruct>(Parser<OpenMPFlushConstruct>{}) ||
386 construct<OpenMPStandaloneConstruct>(Parser<OpenMPCancelConstruct>{}) ||
387 construct<OpenMPStandaloneConstruct>(
392 TYPE_PARSER(construct<OmpBlockDirective>(first(
407 TYPE_PARSER(sourced(construct<OmpBeginBlockDirective>(
410 TYPE_PARSER(construct<OmpReductionInitializerClause>(
414 TYPE_PARSER(sourced(construct<OpenMPDeclareReductionConstruct>(
422 TYPE_PARSER(sourced(construct<OmpDeclareTargetWithList>(
427 sourced(construct<OmpDeclareTargetWithClause>(Parser<OmpClauseList>{})))
431 construct<OmpDeclareTargetSpecifier>(Parser<OmpDeclareTargetWithList>{}) ||
432 construct<OmpDeclareTargetSpecifier>(Parser<OmpDeclareTargetWithClause>{}))
435 TYPE_PARSER(sourced(construct<OpenMPDeclareTargetConstruct>(
438 TYPE_PARSER(construct<OmpReductionCombiner>(Parser<AssignmentStmt>{}) ||
439 construct<OmpReductionCombiner>(
440 construct<OmpReductionCombiner::FunctionCombiner>(
441 construct<Call>(Parser<ProcedureDesignator>{},
451 TYPE_PARSER(construct<OmpEndAtomic>(startOmpLine >> "END ATOMIC"_tok))
455 construct<OmpAtomicRead>(Parser<OmpAtomicClauseList>{} / maybe(","_tok),
461 construct<OmpAtomicCapture>(Parser<OmpAtomicClauseList>{} / maybe(","_tok),
468 construct<OmpAtomicUpdate>(Parser<OmpAtomicClauseList>{} / maybe(","_tok),
473 TYPE_PARSER(construct<OmpAtomic>(verbatim("ATOMIC"_tok),
479 construct<OmpAtomicWrite>(Parser<OmpAtomicClauseList>{} / maybe(","_tok),
484 TYPE_PARSER(construct<OpenMPAtomicConstruct>(Parser<OmpAtomicRead>{}) ||
485 construct<OpenMPAtomicConstruct>(Parser<OmpAtomicCapture>{}) ||
486 construct<OpenMPAtomicConstruct>(Parser<OmpAtomicWrite>{}) ||
487 construct<OpenMPAtomicConstruct>(Parser<OmpAtomicUpdate>{}) ||
488 construct<OpenMPAtomicConstruct>(Parser<OmpAtomic>{}))
492 sourced(construct<OmpEndCriticalDirective>(
495 TYPE_PARSER(sourced(construct<OmpCriticalDirective>(verbatim("CRITICAL"_tok),
499 TYPE_PARSER(construct<OpenMPCriticalConstruct>(
504 sourced(construct<OpenMPExecutableAllocate>(verbatim("ALLOCATE"_tok),
511 sourced(construct<OpenMPDeclareSimdConstruct>(verbatim("DECLARE SIMD"_tok),
515 TYPE_PARSER(sourced(construct<OpenMPThreadprivate>(
520 sourced(construct<OpenMPDeclarativeAllocate>(verbatim("ALLOCATE"_tok),
526 sourced(construct<OpenMPDeclarativeConstruct>(
528 construct<OpenMPDeclarativeConstruct>(
530 construct<OpenMPDeclarativeConstruct>(
532 construct<OpenMPDeclarativeConstruct>(
534 construct<OpenMPDeclarativeConstruct>(Parser<OpenMPThreadprivate>{})) /
538 TYPE_PARSER(construct<OpenMPBlockConstruct>(
543 TYPE_PARSER(construct<OmpSectionsDirective>(first(
548 TYPE_PARSER(sourced(construct<OmpBeginSectionsDirective>(
551 startOmpLine >> sourced(construct<OmpEndSectionsDirective>(
557 TYPE_PARSER(construct<OpenMPSectionConstruct>(block))
560 construct<OmpSectionBlocks>(nonemptySeparated(
561 construct<OpenMPConstruct>(sourced(Parser<OpenMPSectionConstruct>{})),
565 TYPE_PARSER(construct<OpenMPSectionsConstruct>(
571 first(construct<OpenMPConstruct>(Parser<OpenMPSectionsConstruct>{}),
572 construct<OpenMPConstruct>(Parser<OpenMPLoopConstruct>{}),
573 construct<OpenMPConstruct>(Parser<OpenMPBlockConstruct>{}),
576 construct<OpenMPConstruct>(Parser<OpenMPStandaloneConstruct>{}),
577 construct<OpenMPConstruct>(Parser<OpenMPAtomicConstruct>{}),
578 construct<OpenMPConstruct>(Parser<OpenMPExecutableAllocate>{}),
579 construct<OpenMPConstruct>(Parser<OpenMPDeclarativeAllocate>{}),
580 construct<OpenMPConstruct>(Parser<OpenMPCriticalConstruct>{})))
584 startOmpLine >> sourced(construct<OmpEndBlockDirective>(
590 startOmpLine >> sourced(construct<OmpEndLoopDirective>(
594 TYPE_PARSER(construct<OpenMPLoopConstruct>(