Home
last modified time | relevance | path

Searched refs:ExplodedNode (Results 1 – 25 of 74) sorted by relevance

123

/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DExprEngine.h85 class ExplodedNode; variable
242 std::string DumpGraph(ArrayRef<const ExplodedNode *> Nodes,
250 void ViewGraph(ArrayRef<const ExplodedNode *> Nodes);
284 void removeDead(ExplodedNode *Node, ExplodedNodeSet &Out,
291 void processCFGElement(const CFGElement E, ExplodedNode *Pred,
294 void ProcessStmt(const Stmt *S, ExplodedNode *Pred);
296 void ProcessLoopExit(const Stmt* S, ExplodedNode *Pred);
298 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred);
300 void ProcessImplicitDtor(const CFGImplicitDtor D, ExplodedNode *Pred);
302 void ProcessNewAllocator(const CXXNewExpr *NE, ExplodedNode *Pred);
[all …]
H A DExplodedGraph.h66 class ExplodedNode : public llvm::FoldingSetNode {
96 ExplodedNode * const *begin() const;
98 ExplodedNode * const *end() const;
107 void addNode(ExplodedNode *N, ExplodedGraph &G);
114 void replaceNode(ExplodedNode *node);
138 explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, in ExplodedNode() function
196 void addPredecessor(ExplodedNode *V, ExplodedGraph &G);
209 ExplodedNode *getFirstPred() { in getFirstPred()
213 const ExplodedNode *getFirstPred() const { in getFirstPred()
214 return const_cast<ExplodedNode*>(this)->getFirstPred(); in getFirstPred()
[all …]
H A DCoreEngine.h67 std::vector<std::pair<BlockEdge, const ExplodedNode *>>;
70 std::vector<std::pair<const CFGBlock *, const ExplodedNode *>>;
110 ExplodedNode *Pred);
112 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred);
113 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred);
114 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred);
116 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred);
118 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred);
121 ExplodedNode *Pred);
123 const CFGBlock *B, ExplodedNode *Pred);
[all …]
H A DCheckerContext.h27 ExplodedNode *Pred;
43 ExplodedNode *pred,
71 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor()
141 static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) { in getLocationRegionIfPostStore()
169 ExplodedNode *addTransition(ProgramStateRef State = nullptr,
181 ExplodedNode *addTransition(ProgramStateRef State, ExplodedNode *Pred,
189 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred,
209 ExplodedNode *generateErrorNode(ProgramStateRef State = nullptr,
224 ExplodedNode *generateErrorNode(ProgramStateRef State,
225 ExplodedNode *Pred,
[all …]
H A DWorkList.h28 ExplodedNode *node;
34 WorkListUnit(ExplodedNode *N, BlockCounter C, in WorkListUnit()
41 explicit WorkListUnit(ExplodedNode *N, BlockCounter C) in WorkListUnit()
48 ExplodedNode *getNode() const { return node; } in getNode()
68 void enqueue(ExplodedNode *N, const CFGBlock *B, unsigned idx) { in enqueue()
72 void enqueue(ExplodedNode *N) { in enqueue()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp56 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { in shouldCollect()
91 const ExplodedNode *pred = *(node->pred_begin()); in shouldCollect()
95 const ExplodedNode *succ = *(node->succ_begin()); in shouldCollect()
153 void ExplodedGraph::collectNode(ExplodedNode *node) { in collectNode()
159 ExplodedNode *pred = *(node->pred_begin()); in collectNode()
160 ExplodedNode *succ = *(node->succ_begin()); in collectNode()
166 node->~ExplodedNode(); in collectNode()
201 using ExplodedNodeVector = BumpVector<ExplodedNode *>;
202 using GroupStorage = llvm::PointerUnion<ExplodedNode *, ExplodedNodeVector *>;
204 void ExplodedNode::addPredecessor(ExplodedNode *V, ExplodedGraph &G) { in addPredecessor()
[all …]
H A DCoreEngine.cpp118 ExplodedNode *Node = G.getNode(StartLoc, InitState, false, &IsNew); in ExecuteWorkList()
157 ExplodedNode *Node = WU.getNode(); in ExecuteWorkList()
182 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem()
209 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem()
225 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge()
295 ExplodedNode *Pred) { in HandleBlockEntrance()
312 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit()
436 void CoreEngine::HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred) { in HandleCallEnter()
442 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch()
454 ExplodedNode *Pred) { in HandleCleanupTemporaryBranch()
[all …]
H A DBugReporterVisitors.cpp87 static const Expr *peelOffOuterExpr(const Expr *Ex, const ExplodedNode *N);
181 getLocationRegionIfReference(const Expr *E, const ExplodedNode *N, in getLocationRegionIfReference()
220 static bool hasVisibleUpdate(const ExplodedNode *LeftNode, SVal LeftVal, in hasVisibleUpdate()
221 const ExplodedNode *RightNode, SVal RightVal) { in hasVisibleUpdate()
239 const ExplodedNode *N) { in getSValForVar()
263 getConcreteIntegerValue(const Expr *CondVarExpr, const ExplodedNode *N) { in getConcreteIntegerValue()
272 const ExplodedNode *N, in isVarAnInterestingCondition()
288 static bool isInterestingExpr(const Expr *E, const ExplodedNode *N, in isInterestingExpr()
322 const ExplodedNode *N, in wasRegionOfInterestModifiedAt()
354 const ExplodedNode *, in getEndPath() argument
[all …]
H A DExprEngineCallAndReturn.cpp45 ExplodedNode *Pred) { in processCallEnter()
66 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter()
78 const CFGBlock*> getLastStmt(const ExplodedNode *Node) { in getLastStmt()
166 ExplodedNode *Pred, in removeDeadOnEndOfFunction()
254 void ExprEngine::processCallExit(ExplodedNode *CEBNode) { in processCallExit()
358 ExplodedNode *BindedRetNode = G.getNode(Loc, state, false, &isNew); in processCallExit()
377 for (ExplodedNode *N : CleanedNodes) { in processCallExit()
384 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit()
404 for (ExplodedNode *I : DstPostPostCallCallback) { in processCallExit()
503 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_MAP_WITH_PROGRAMSTATE()
[all …]
H A DExprEngineCXX.cpp31 ExplodedNode *Pred, in CreateCXXTemporaryObject()
44 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy()
90 for (ExplodedNode *N : Dst) { in performTrivialCopy()
583 ExplodedNode *Pred, in handleConstructor()
748 for (ExplodedNode *N : DstPreVisit) { in handleConstructor()
784 for (ExplodedNode *N : DstPreCall) in handleConstructor()
788 for (ExplodedNode *N : DstPreCall) in handleConstructor()
820 for (ExplodedNode *N : DstEvaluated) { in handleConstructor()
832 for (ExplodedNode *I : DstEvaluatedPostProcessed) in handleConstructor()
845 ExplodedNode *Pred, in VisitCXXConstructExpr()
[all …]
H A DExprEngineC.cpp41 ExplodedNode *Pred, in VisitBinaryOperator()
136 for (ExplodedNode *N : Tmp) { in VisitBinaryOperator()
193 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, in VisitBlockExpr()
257 ExplodedNode* Pred) { in handleLValueBitCast()
283 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCast()
290 for (ExplodedNode *subExprNode : dstPreStmt) { in VisitCast()
306 for (ExplodedNode *Pred : dstPreStmt) { in VisitCast()
541 ExplodedNode *Pred, in VisitCompoundLiteralExpr()
565 void ExprEngine::VisitDeclStmt(const DeclStmt *DS, ExplodedNode *Pred, in VisitDeclStmt()
596 ExplodedNode *N = *I; in VisitDeclStmt()
[all …]
H A DExprEngine.cpp966 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement()
1005 const ExplodedNode *Pred, in shouldRemoveDeadBindings()
1029 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead()
1109 void ExprEngine::ProcessStmt(const Stmt *currStmt, ExplodedNode *Pred) { in ProcessStmt()
1139 void ExprEngine::ProcessLoopExit(const Stmt* S, ExplodedNode *Pred) { in ProcessLoopExit()
1158 ExplodedNode *Pred) { in ProcessInitializer()
1291 ExplodedNode *Pred) { in ProcessImplicitDtor()
1318 ExplodedNode *Pred) { in ProcessNewAllocator()
1338 ExplodedNode *Pred, in ProcessAutomaticObjDtor()
1410 ExplodedNode *Pred, in ProcessDeleteDtor()
[all …]
H A DBugReporter.cpp110 std::pair<PathDiagnosticCallPiece *, const ExplodedNode *>;
115 llvm::DenseMap<const ExplodedNode *, std::vector<PathDiagnosticPieceRef>>;
130 const ExplodedNode *CurrentNode;
149 const ExplodedNode *ErrorNode,
167 const ExplodedNode *getCurrentNode() const { return CurrentNode; } in getCurrentNode()
228 const ExplodedNode *const ErrorNode;
243 PathSensitiveBugReport *r, const ExplodedNode *ErrorNode,
298 std::string StackHintGeneratorForSymbol::getMessage(const ExplodedNode *N){ in getMessage()
739 const ExplodedNode *N = I.second; in updateStackPiecesWithMessage()
1044 const ExplodedNode *N) { in getStmtBeforeCond()
[all …]
H A DCheckerManager.cpp168 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
215 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
285 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
332 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
380 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
424 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
436 ExplodedNode *Pred, in runCheckersForBeginFunction()
449 ExplodedNode *Pred, in runCheckersForEndFunction()
481 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker()
494 ExplodedNode *Pred, in runCheckersForBranchCondition()
[all …]
/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/
H A DBugReporterVisitors.h43 class ExplodedNode; variable
72 virtual PathDiagnosticPieceRef VisitNode(const ExplodedNode *Succ,
79 const ExplodedNode *EndPathNode,
88 const ExplodedNode *N,
95 getDefaultEndPath(const BugReporterContext &BRC, const ExplodedNode *N,
149 const ExplodedNode *StoreSite;
219 virtual Result track(const Expr *E, const ExplodedNode *N,
313 virtual Tracker::Result handle(const Expr *E, const ExplodedNode *Original,
314 const ExplodedNode *ExprNode,
370 bool trackExpressionValue(const ExplodedNode *N, const Expr *E,
[all …]
H A DBugReporter.h60 class ExplodedNode; variable
82 virtual std::string getMessage(const ExplodedNode *N) = 0;
102 std::string getMessage(const ExplodedNode *N) override;
298 const ExplodedNode *ErrorNode = nullptr;
351 llvm::SmallSet<const ExplodedNode *, 4> TrackedConditions;
370 const ExplodedNode *errorNode) in PathSensitiveBugReport()
374 const ExplodedNode *errorNode) in PathSensitiveBugReport()
387 const ExplodedNode *errorNode, in PathSensitiveBugReport()
394 const ExplodedNode *errorNode,
402 const ExplodedNode *getErrorNode() const { return ErrorNode; } in getErrorNode()
[all …]
H A DZ3CrosscheckVisitor.h36 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
40 void finalizeVisitor(BugReporterContext &BRC, const ExplodedNode *EndPathNode,
44 void addConstraints(const ExplodedNode *N,
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DNoOwnershipChangeVisitor.h23 getFunctionName(const ExplodedNode *CallEnterN);
35 bool wasModifiedInFunction(const ExplodedNode *CallEnterN,
36 const ExplodedNode *CallExitEndN) final;
38 virtual PathDiagnosticPieceRef emitNote(const ExplodedNode *N) = 0;
42 const ExplodedNode *N) final { in maybeEmitNoteForObjCSelf()
49 const ExplodedNode *N) final { in maybeEmitNoteForCXXThis()
57 const ExplodedNode *N) final;
63 OwnerSet getOwnersAtNode(const ExplodedNode *N);
H A DValistChecker.cpp59 const ExplodedNode *getStartCallSite(const ExplodedNode *N,
65 StringRef Msg2, CheckerContext &C, ExplodedNode *N,
82 const ExplodedNode *EndPathNode, in getEndPath()
92 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
213 if (ExplodedNode *N = C.addTransition(State)) in checkDeadSymbols()
222 const ExplodedNode *
223 ValistChecker::getStartCallSite(const ExplodedNode *N, in getStartCallSite()
226 const ExplodedNode *StartCallNode = N; in getStartCallSite()
252 if (ExplodedNode *N = C.generateErrorNode()) { in reportUninitializedAccess()
266 CheckerContext &C, ExplodedNode *N, in reportLeakedVALists()
[all …]
H A DNoOwnershipChangeVisitor.cpp52 OwnerSet NoOwnershipChangeVisitor::getOwnersAtNode(const ExplodedNode *N) { in getOwnersAtNode()
63 NoOwnershipChangeVisitor::getFunctionName(const ExplodedNode *CallEnterN) { in getFunctionName()
72 const ExplodedNode *CallEnterN, const ExplodedNode *CallExitEndN) { in wasModifiedInFunction()
106 PathSensitiveBugReport &R, const CallEvent &Call, const ExplodedNode *N) { in maybeEmitNoteForParameters()
H A DMoveChecker.cpp172 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
217 ExplodedNode *tryToReportBug(const MemRegion *Region, const CXXRecordDecl *RD,
223 const ExplodedNode *getMoveLocation(const ExplodedNode *N,
275 MoveChecker::MovedBugVisitor::VisitNode(const ExplodedNode *N, in VisitNode()
333 const ExplodedNode *MoveChecker::getMoveLocation(const ExplodedNode *N, in getMoveLocation()
338 const ExplodedNode *MoveNode = N; in getMoveLocation()
381 ExplodedNode *N = tryToReportBug(Region, RD, C, MK); in modelUse()
391 ExplodedNode *MoveChecker::tryToReportBug(const MemRegion *Region, in tryToReportBug()
395 if (ExplodedNode *N = misuseCausesCrash(MK) ? C.generateErrorNode() in tryToReportBug()
399 const ExplodedNode *MoveNode = getMoveLocation(N, Region, C); in tryToReportBug()
H A DCXXDeleteChecker.cpp54 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
129 ExplodedNode *N = C.generateNonFatalErrorNode(); in checkTypedDeleteExpr()
159 ExplodedNode *N = C.generateNonFatalErrorNode(); in checkTypedDeleteExpr()
184 CXXDeleteChecker::PtrCastVisitor::VisitNode(const ExplodedNode *N, in VisitNode()
H A DSimpleStreamChecker.cpp68 ExplodedNode *ErrNode) const;
161 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkDeadSymbols()
171 ExplodedNode *ErrNode = C.generateErrorNode(); in reportDoubleClose()
186 ExplodedNode *ErrNode) const { in reportLeaks()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/
H A DRetainCountDiagnostics.cpp325 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
330 const ExplodedNode *N,
340 const ExplodedNode *N,
353 static const ExplodedNode *getCalleeNode(const ExplodedNode *Pred) { in getCalleeNode()
361 const ExplodedNode *N = Pred; in getCalleeNode()
373 annotateConsumedSummaryMismatch(const ExplodedNode *N, in annotateConsumedSummaryMismatch()
378 const ExplodedNode *CN = getCalleeNode(N); in annotateConsumedSummaryMismatch()
423 annotateStartParameter(const ExplodedNode *N, SymbolRef Sym, in annotateStartParameter()
453 RefCountReportVisitor::VisitNode(const ExplodedNode *N, BugReporterContext &BRC, in VisitNode()
476 const ExplodedNode *PrevNode = N->getFirstPred(); in VisitNode()
[all …]
H A DRetainCountDiagnostics.h56 ExplodedNode *n, SymbolRef sym,
60 ExplodedNode *n, SymbolRef sym,
84 void findBindingToReport(CheckerContext &Ctx, ExplodedNode *Node);
87 RefLeakReport(const RefCountBug &D, const LangOptions &LOpts, ExplodedNode *n,

123