Lines Matching refs:CFGBlock

173 static bool hasRecursiveCallInPath(const FunctionDecl *FD, CFGBlock &Block) {  in hasRecursiveCallInPath()
205 llvm::SmallPtrSet<CFGBlock *, 16> Visited; in checkForRecursiveFunctionCall()
206 llvm::SmallVector<CFGBlock *, 16> WorkList; in checkForRecursiveFunctionCall()
216 CFGBlock *Block = WorkList.pop_back_val(); in checkForRecursiveFunctionCall()
219 if (CFGBlock *SuccBlock = *I) { in checkForRecursiveFunctionCall()
264 static bool throwEscapes(Sema &S, const CXXThrowExpr *E, CFGBlock &ThrowBlock, in throwEscapes()
266 SmallVector<CFGBlock *, 16> Stack; in throwEscapes()
273 CFGBlock &UnwindBlock = *Stack.back(); in throwEscapes()
303 llvm::function_ref<void(const CXXThrowExpr *, CFGBlock &)> Visit) { in visitReachableThrows()
306 for (CFGBlock *B : *BodyCFG) { in visitReachableThrows()
346 visitReachableThrows(BodyCFG, [&](const CXXThrowExpr *Throw, CFGBlock &Block) { in checkThrowInNonThrowingFunc()
417 CFGBlock::FilterOptions FO; in CheckFallThrough()
420 for (CFGBlock::filtered_pred_iterator I = in CheckFallThrough()
423 const CFGBlock &B = **I; in CheckFallThrough()
438 CFGBlock::const_reverse_iterator ri = B.rbegin(), re = B.rend(); in CheckFallThrough()
1037 std::deque<const CFGBlock *> BlockQueue; in fillReachableBlocks()
1052 const CFGBlock *P = BlockQueue.front(); in fillReachableBlocks()
1054 for (CFGBlock::const_succ_iterator I = P->succ_begin(), in fillReachableBlocks()
1063 bool checkFallThroughIntoBlock(const CFGBlock &B, int &AnnotatedCnt, in checkFallThroughIntoBlock()
1070 std::deque<const CFGBlock*> BlockQueue(B.pred_begin(), B.pred_end()); in checkFallThroughIntoBlock()
1072 const CFGBlock *P = BlockQueue.front(); in checkFallThroughIntoBlock()
1089 for (CFGBlock::const_reverse_iterator ElemIt = P->rbegin(), in checkFallThroughIntoBlock()
1173 static const Stmt *getLastStmt(const CFGBlock &B) { in getLastStmt()
1176 for (CFGBlock::const_reverse_iterator ElemIt = B.rbegin(), in getLastStmt()
1195 llvm::SmallPtrSet<const CFGBlock *, 16> ReachableBlocks;
1256 for (const CFGBlock *B : llvm::reverse(*Cfg)) { in DiagnoseSwitchLabelsFallthrough()
2094 const CFGBlock *block = AC.getBlockForRegisteredExpression(D.stmt); in IssueWarnings()