Lines Matching refs:construct
46 const parser::ForallConstruct &construct) { in GetConcurrentHeader() argument
48 std::get<parser::Statement<parser::ForallConstructStmt>>(construct.t)}; in GetConcurrentHeader()
248 void Post(const parser::ExecutableConstruct &construct) { in Post() argument
249 if (IsImageControlStmt(construct)) { in Post()
251 GetImageControlStmtLocation(construct)}; in Post()
255 if (auto coarrayMsg{GetImageControlStmtCoarrayMsg(construct)}) { in Post()
428 void Check(const parser::ForallConstruct &construct) { in Check() argument
429 CheckConcurrentHeader(GetConcurrentHeader(construct)); in Check()
802 void DoForallChecker::Enter(const parser::ForallConstruct &construct) { in Enter() argument
804 doContext.ActivateIndexVars(GetControls(construct)); in Enter()
806 void DoForallChecker::Leave(const parser::ForallConstruct &construct) { in Leave() argument
808 doContext.Check(construct); in Leave()
809 doContext.DeactivateIndexVars(GetControls(construct)); in Leave()
831 static parser::CharBlock GetNodePosition(const ConstructNode &construct) { in GetNodePosition() argument
833 [&](const auto &x) { return GetConstructPosition(*x); }, construct); in GetNodePosition()
837 const char *enclosingStmtName, const ConstructNode &construct) const { in SayBadLeave()
841 .Attach(GetNodePosition(construct), "The construct that was left"_en_US); in SayBadLeave()
845 const ConstructNode &construct) { in MaybeGetDoConstruct() argument
847 std::get_if<const parser::DoConstruct *>(&construct)}) { in MaybeGetDoConstruct()
854 static bool ConstructIsDoConcurrent(const ConstructNode &construct) { in ConstructIsDoConcurrent() argument
855 const parser::DoConstruct *doConstruct{MaybeGetDoConstruct(construct)}; in ConstructIsDoConcurrent()
862 StmtType stmtType, const ConstructNode &construct) const { in CheckForBadLeave()
868 SayBadLeave(stmtType, "DO CONCURRENT", construct); in CheckForBadLeave()
873 SayBadLeave(stmtType, "CRITICAL", construct); in CheckForBadLeave()
877 SayBadLeave(stmtType, "CHANGE TEAM", construct); in CheckForBadLeave()
881 construct); in CheckForBadLeave()
886 const ConstructNode &construct) { in StmtMatchesConstruct() argument
887 bool inDoConstruct{MaybeGetDoConstruct(construct) != nullptr}; in StmtMatchesConstruct()
899 StmtType stmtType, const ConstructNode &construct) const { in CheckDoConcurrentExit()
900 if (stmtType == StmtType::EXIT && ConstructIsDoConcurrent(construct)) { in CheckDoConcurrentExit()
901 SayBadLeave(StmtType::EXIT, "DO CONCURRENT", construct); in CheckDoConcurrentExit()
913 const ConstructNode &construct{*iter}; in CheckNesting() local
915 MaybeGetNodeName(construct)}; in CheckNesting()
916 if (StmtMatchesConstruct(stmtName, stmtType, constructName, construct)) { in CheckNesting()
917 CheckDoConcurrentExit(stmtType, construct); in CheckNesting()
920 CheckForBadLeave(stmtType, construct); in CheckNesting()