Lines Matching refs:doConstruct
64 static const Bounds &GetBounds(const parser::DoConstruct &doConstruct) { in GetBounds() argument
65 auto &loopControl{doConstruct.GetLoopControl().value()}; in GetBounds()
70 const parser::DoConstruct &doConstruct) { in GetDoVariable() argument
71 const Bounds &bounds{GetBounds(doConstruct)}; in GetDoVariable()
380 void DefineDoVariables(const parser::DoConstruct &doConstruct) { in DefineDoVariables() argument
381 if (doConstruct.IsDoNormal()) { in DefineDoVariables()
382 context_.ActivateIndexVar(GetDoVariable(doConstruct), IndexVarKind::DO); in DefineDoVariables()
383 } else if (doConstruct.IsDoConcurrent()) { in DefineDoVariables()
384 if (const auto &loopControl{doConstruct.GetLoopControl()}) { in DefineDoVariables()
391 void ResetDoVariables(const parser::DoConstruct &doConstruct) { in ResetDoVariables() argument
392 if (doConstruct.IsDoNormal()) { in ResetDoVariables()
393 context_.DeactivateIndexVar(GetDoVariable(doConstruct)); in ResetDoVariables()
394 } else if (doConstruct.IsDoConcurrent()) { in ResetDoVariables()
395 if (const auto &loopControl{doConstruct.GetLoopControl()}) { in ResetDoVariables()
413 void Check(const parser::DoConstruct &doConstruct) { in Check() argument
414 if (doConstruct.IsDoConcurrent()) { in Check()
415 CheckDoConcurrent(doConstruct); in Check()
418 if (doConstruct.IsDoNormal()) { in Check()
419 CheckDoNormal(doConstruct); in Check()
514 void CheckDoNormal(const parser::DoConstruct &doConstruct) { in CheckDoNormal() argument
517 const Bounds &bounds{GetBounds(doConstruct)}; in CheckDoNormal()
530 void CheckDoConcurrent(const parser::DoConstruct &doConstruct) { in CheckDoConcurrent() argument
532 std::get<parser::Statement<parser::NonLabelDoStmt>>(doConstruct.t)}; in CheckDoConcurrent()
535 const parser::Block &block{std::get<parser::Block>(doConstruct.t)}; in CheckDoConcurrent()
544 const auto &loopControl{doConstruct.GetLoopControl()}; in CheckDoConcurrent()
791 void DoForallChecker::Enter(const parser::DoConstruct &doConstruct) { in Enter() argument
793 doContext.DefineDoVariables(doConstruct); in Enter()
796 void DoForallChecker::Leave(const parser::DoConstruct &doConstruct) { in Leave() argument
798 doContext.Check(doConstruct); in Leave()
799 doContext.ResetDoVariables(doConstruct); in Leave()
855 const parser::DoConstruct *doConstruct{MaybeGetDoConstruct(construct)}; in ConstructIsDoConcurrent() local
856 return doConstruct && doConstruct->IsDoConcurrent(); in ConstructIsDoConcurrent()