Lines Matching defs:doConstruct

66 static const Bounds &GetBounds(const parser::DoConstruct &doConstruct) {
67 auto &loopControl{doConstruct.GetLoopControl().value()};
72 const parser::DoConstruct &doConstruct) {
73 const Bounds &bounds{GetBounds(doConstruct)};
395 void DefineDoVariables(const parser::DoConstruct &doConstruct) {
396 if (doConstruct.IsDoNormal()) {
397 context_.ActivateIndexVar(GetDoVariable(doConstruct), IndexVarKind::DO);
398 } else if (doConstruct.IsDoConcurrent()) {
399 if (const auto &loopControl{doConstruct.GetLoopControl()}) {
406 void ResetDoVariables(const parser::DoConstruct &doConstruct) {
407 if (doConstruct.IsDoNormal()) {
408 context_.DeactivateIndexVar(GetDoVariable(doConstruct));
409 } else if (doConstruct.IsDoConcurrent()) {
410 if (const auto &loopControl{doConstruct.GetLoopControl()}) {
428 void Check(const parser::DoConstruct &doConstruct) {
429 if (doConstruct.IsDoConcurrent()) {
430 CheckDoConcurrent(doConstruct);
431 } else if (doConstruct.IsDoNormal()) {
432 CheckDoNormal(doConstruct);
544 void CheckDoNormal(const parser::DoConstruct &doConstruct) {
547 const Bounds &bounds{GetBounds(doConstruct)};
561 void CheckDoConcurrent(const parser::DoConstruct &doConstruct) {
563 std::get<parser::Statement<parser::NonLabelDoStmt>>(doConstruct.t)};
566 const parser::Block &block{std::get<parser::Block>(doConstruct.t)};
575 const auto &loopControl{doConstruct.GetLoopControl()};
911 void DoForallChecker::Enter(const parser::DoConstruct &doConstruct) {
913 if (doConstruct.IsDoConcurrent()) {
916 doContext.DefineDoVariables(doConstruct);
917 doContext.Check(doConstruct);
920 void DoForallChecker::Leave(const parser::DoConstruct &doConstruct) {
922 doContext.ResetDoVariables(doConstruct);
923 if (doConstruct.IsDoConcurrent()) {
985 const parser::DoConstruct *doConstruct{MaybeGetDoConstruct(construct)};
986 return doConstruct && doConstruct->IsDoConcurrent();