Home
last modified time | relevance | path

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

1234

/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
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 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,
295 void processCFGElement(const CFGElement E, ExplodedNode *Pred,
298 void ProcessStmt(const Stmt *S, ExplodedNode *Pred);
300 void ProcessLoopExit(const Stmt* S, ExplodedNode *Pred);
302 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred);
304 void ProcessImplicitDtor(const CFGImplicitDtor D, ExplodedNode *Pred);
306 void ProcessNewAllocator(const CXXNewExpr *NE, ExplodedNode *Pred);
[all …]
H A DCoreEngine.h61 std::vector<std::pair<BlockEdge, const ExplodedNode *>>;
64 std::vector<std::pair<const CFGBlock *, const ExplodedNode *>>;
104 ExplodedNode *Pred);
106 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred);
107 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred);
108 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred);
110 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred);
112 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred);
115 ExplodedNode *Pred);
117 const CFGBlock *B, ExplodedNode *Pred);
[all …]
H A DCheckerContext.h27 ExplodedNode *Pred;
43 ExplodedNode *pred,
73 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor()
144 static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) { in getLocationRegionIfPostStore()
177 ExplodedNode *addTransition(ProgramStateRef State = nullptr,
192 ExplodedNode *addTransition(ProgramStateRef State, ExplodedNode *Pred,
200 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred,
220 ExplodedNode *generateErrorNode(ProgramStateRef State = nullptr,
235 ExplodedNode *generateErrorNode(ProgramStateRef State,
236 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.cpp54 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { in shouldCollect()
89 const ExplodedNode *pred = *(node->pred_begin()); in shouldCollect()
93 const ExplodedNode *succ = *(node->succ_begin()); in shouldCollect()
151 void ExplodedGraph::collectNode(ExplodedNode *node) { in collectNode()
157 ExplodedNode *pred = *(node->pred_begin()); in collectNode()
158 ExplodedNode *succ = *(node->succ_begin()); in collectNode()
164 node->~ExplodedNode(); in collectNode()
199 using ExplodedNodeVector = BumpVector<ExplodedNode *>;
200 using GroupStorage = llvm::PointerUnion<ExplodedNode *, ExplodedNodeVector *>;
202 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()
191 static llvm::TimeTraceMetadata timeTraceMetadata(const ExplodedNode *Pred, in timeTraceMetadata()
213 void CoreEngine::dispatchWorkItem(ExplodedNode *Pred, ProgramPoint Loc, in dispatchWorkItem()
244 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem()
260 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge()
312 for (ExplodedNode *P : CheckerNodes) { in HandleBlockEdge()
341 ExplodedNode *Pred) { in HandleBlockEntrance()
358 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit()
482 void CoreEngine::HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred) { in HandleCallEnter()
[all …]
H A DBugReporterVisitors.cpp83 static const Expr *peelOffOuterExpr(const Expr *Ex, const ExplodedNode *N);
177 getLocationRegionIfReference(const Expr *E, const ExplodedNode *N, in getLocationRegionIfReference()
216 static bool hasVisibleUpdate(const ExplodedNode *LeftNode, SVal LeftVal, in hasVisibleUpdate()
217 const ExplodedNode *RightNode, SVal RightVal) { in hasVisibleUpdate()
235 const ExplodedNode *N) { in getSValForVar()
259 getConcreteIntegerValue(const Expr *CondVarExpr, const ExplodedNode *N) { in getConcreteIntegerValue()
268 const ExplodedNode *N, in isVarAnInterestingCondition()
284 static bool isInterestingExpr(const Expr *E, const ExplodedNode *N, in isInterestingExpr()
318 const ExplodedNode *N, in wasRegionOfInterestModifiedAt()
350 const ExplodedNode *, in getEndPath() argument
[all …]
H A DExprEngineCXX.cpp34 ExplodedNode *Pred, in CreateCXXTemporaryObject()
47 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy()
89 for (ExplodedNode *N : Tmp) in performTrivialCopy()
100 for (ExplodedNode *N : Dst) { in performTrivialCopy()
548 ExplodedNode *Pred, in handleConstructor()
714 for (ExplodedNode *N : DstPreVisit) { in handleConstructor()
754 for (ExplodedNode *N : DstPreCall) in handleConstructor()
758 for (ExplodedNode *N : DstPreCall) in handleConstructor()
790 for (ExplodedNode *N : DstEvaluated) { in handleConstructor()
802 for (ExplodedNode *I : DstEvaluatedPostProcessed) in handleConstructor()
[all …]
H A DExprEngineCallAndReturn.cpp43 ExplodedNode *Pred) { in processCallEnter()
62 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter()
74 const CFGBlock*> getLastStmt(const ExplodedNode *Node) { in getLastStmt()
162 ExplodedNode *Pred, in removeDeadOnEndOfFunction()
250 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 DExprEngineC.cpp42 ExplodedNode *Pred, in VisitBinaryOperator()
139 for (ExplodedNode *N : Tmp) { in VisitBinaryOperator()
197 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, in VisitBlockExpr()
261 ExplodedNode* Pred) { in handleLValueBitCast()
287 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCast()
293 for (ExplodedNode *Node : DstPreStmt) { in VisitCast()
305 for (ExplodedNode *Node : DstPreStmt) { in VisitCast()
315 for (ExplodedNode *Node : DstEvalLoc) { in VisitCast()
342 for (ExplodedNode *Pred : DstPreStmt) { in VisitCast()
579 ExplodedNode *Pred, in VisitCompoundLiteralExpr()
[all …]
H A DExprEngineObjC.cpp22 ExplodedNode *Pred, in VisitLvalObjCIvarRefExpr()
39 ExplodedNode *Pred, in VisitObjCAtSynchronizedStmt()
52 for (ExplodedNode *Pred : dstLocation) { in populateObjCForDestinationSet()
84 ExplodedNode *Pred, in VisitObjCForCollectionStmt()
131 for (ExplodedNode *dstLocation : DstLocation) { in VisitObjCForCollectionStmt()
152 ExplodedNode *Pred, in VisitObjCMessage()
260 ExplodedNode *Pred = *DI; in VisitObjCMessage()
/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()
96 PathSensitiveBugReport &R, const CallEvent &Call, const ExplodedNode *N) { in maybeEmitNoteForParameters()
H A DMacOSKeychainAPIChecker.cpp109 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym,
114 ExplodedNode *N,
141 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
225 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport()
269 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
329 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
439 const ExplodedNode *
440 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode()
446 const ExplodedNode *AllocNode = N; in getAllocationNode()
465 const AllocationPair &AP, ExplodedNode *N, CheckerContext &C) const { in generateAllocatedDataNotReleasedReport()
[all …]
H A DNonNullParamChecker.cpp43 genReportNullAttrNonNull(const ExplodedNode *ErrorN, const Expr *ArgE,
46 genReportReferenceToNullPointer(const ExplodedNode *ErrorN,
181 if (ExplodedNode *errorNode = C.generateErrorNode(stateNull)) { in checkPreCall()
201 if (ExplodedNode *N = C.generateSink(stateNull, C.getPredecessor())) { in checkPreCall()
279 NonNullParamChecker::genReportNullAttrNonNull(const ExplodedNode *ErrorNode, in genReportNullAttrNonNull()
298 const ExplodedNode *ErrorNode, const Expr *ArgE) const { in genReportReferenceToNullPointer()
H A DMoveChecker.cpp174 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
219 ExplodedNode *tryToReportBug(const MemRegion *Region, const CXXRecordDecl *RD,
225 const ExplodedNode *getMoveLocation(const ExplodedNode *N,
277 MoveChecker::MovedBugVisitor::VisitNode(const ExplodedNode *N, in VisitNode()
335 const ExplodedNode *MoveChecker::getMoveLocation(const ExplodedNode *N, in getMoveLocation()
340 const ExplodedNode *MoveNode = N; in getMoveLocation()
383 ExplodedNode *N = tryToReportBug(Region, RD, C, MK); in modelUse()
393 ExplodedNode *MoveChecker::tryToReportBug(const MemRegion *Region, in tryToReportBug()
397 if (ExplodedNode *N = misuseCausesCrash(MK) ? C.generateErrorNode() in tryToReportBug()
401 const ExplodedNode *MoveNode = getMoveLocation(N, Region, C); in tryToReportBug()
H A DExprInspectionChecker.cpp33 ExplodedNode *ExampleNode;
61 ExplodedNode *reportBug(llvm::StringRef Msg, CheckerContext &C,
63 ExplodedNode *reportBug(llvm::StringRef Msg, BugReporter &BR, ExplodedNode *N,
138 ExplodedNode *N = C.getPredecessor(); in getArgumentValueString()
165 ExplodedNode *
168 ExplodedNode *N = C.generateNonFatalErrorNode(); in reportBug()
173 ExplodedNode *
175 ExplodedNode *N, in reportBug()
392 ExplodedNode *N = C.getPredecessor(); in checkDeadSymbols()
398 if (ExplodedNode *BugNode = reportBug("SYMBOL DEAD", C)) in checkDeadSymbols()
[all …]
/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,
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
H A DMPIBugReporter.cpp25 const ExplodedNode *const ExplNode, in reportDoubleNonblocking()
50 const ExplodedNode *const ExplNode, in reportMissingWait()
70 const ExplodedNode *const ExplNode, in reportUnmatchedWait()
87 MPIBugReporter::RequestNodeVisitor::VisitNode(const ExplodedNode *N, in VisitNode()

1234