Lines Matching refs:LoopStmt
31 static bool isChanged(const Stmt *LoopStmt, const VarDecl *Var, in isChanged() argument
33 if (const auto *ForLoop = dyn_cast<ForStmt>(LoopStmt)) in isChanged()
43 return ExprMutationAnalyzer(*LoopStmt, *Context).isMutated(Var); in isChanged()
47 static bool isVarThatIsPossiblyChanged(const Decl *Func, const Stmt *LoopStmt, in isVarThatIsPossiblyChanged() argument
61 isChanged(LoopStmt, Var, Context); in isVarThatIsPossiblyChanged()
85 static bool isAtLeastOneCondVarChanged(const Decl *Func, const Stmt *LoopStmt, in isAtLeastOneCondVarChanged() argument
87 if (isVarThatIsPossiblyChanged(Func, LoopStmt, Cond, Context)) in isAtLeastOneCondVarChanged()
94 if (isAtLeastOneCondVarChanged(Func, LoopStmt, Child, Context)) in isAtLeastOneCondVarChanged()
164 const auto *LoopStmt = Result.Nodes.getNodeAs<Stmt>("loop-stmt"); in check() local
171 if (const auto *While = dyn_cast<WhileStmt>(LoopStmt)) { in check()
180 if (ExprMutationAnalyzer::isUnevaluated(LoopStmt, *LoopStmt, *Result.Context)) in check()
183 if (isAtLeastOneCondVarChanged(Func, LoopStmt, Cond, Result.Context)) in check()
191 diag(LoopStmt->getBeginLoc(), in check()
195 diag(LoopStmt->getBeginLoc(), in check()