Lines Matching refs:MovingCall
67 bool find(Stmt *FunctionBody, const Expr *MovingCall,
71 bool findInternal(const CFGBlock *Block, const Expr *MovingCall,
109 bool UseAfterMoveFinder::find(Stmt *FunctionBody, const Expr *MovingCall, in find() argument
132 const CFGBlock *Block = BlockMap->blockContainingStmt(MovingCall); in find()
140 return findInternal(Block, MovingCall, MovedVariable, TheUseAfterMove); in find()
144 const Expr *MovingCall, in findInternal() argument
152 if (!MovingCall) in findInternal()
166 if (MovingCall && Reinit != MovingCall && in findInternal()
167 Sequence->potentiallyAfter(MovingCall, Reinit)) in findInternal()
176 if (!MovingCall || Sequence->potentiallyAfter(Use, MovingCall)) { in findInternal()
194 MovingCall != nullptr && in findInternal()
195 Sequence->potentiallyAfter(MovingCall, Use); in findInternal()
381 static void emitDiagnostic(const Expr *MovingCall, const DeclRefExpr *MoveArg, in emitDiagnostic() argument
385 SourceLocation MoveLoc = MovingCall->getExprLoc(); in emitDiagnostic()
444 const auto *MovingCall = Result.Nodes.getNodeAs<Expr>("moving-call"); in check() local
447 if (!MovingCall || !MovingCall->getExprLoc().isValid()) in check()
448 MovingCall = CallMove; in check()
465 if (Finder.find(FunctionBody, MovingCall, Arg->getDecl(), &Use)) in check()
466 emitDiagnostic(MovingCall, Arg, Use, this, Result.Context); in check()