Home
last modified time | relevance | path

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

12345

/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,
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 *Pre
[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.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 *Pre
[all...]
H A DCheckerContext.h27 ExplodedNode *Pred;
43 ExplodedNode *pred,
71 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor()
142 static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) { in getLocationRegionIfPostStore()
170 ExplodedNode *addTransition(ProgramStateRef State = nullptr,
182 ExplodedNode *addTransition(ProgramStateRef State, ExplodedNode *Pred,
190 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred,
210 ExplodedNode *generateErrorNod
[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()
/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp9 // This file defines the template classes ExplodedNode and ExplodedGraph,
56 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()
188 // ExplodedNode.
192 // it can be either a pointer to a single ExplodedNode, o
[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()
455 ExplodedNode *Pre 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
360 finalizeVisitor(BugReporterContext &,const ExplodedNode *,PathSensitiveBugReport &) finalizeVisitor() argument
1213 finalizeVisitor(BugReporterContext &,const ExplodedNode *,PathSensitiveBugReport & BR) finalizeVisitor() argument
[all...]
H A DExprEngineCXX.cpp31 ExplodedNode *Pred, in CreateCXXTemporaryObject()
44 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy()
82 for (ExplodedNode *N : Dst) { in performTrivialCopy()
530 ExplodedNode *Pred, in bindRequiredArrayElementToEnvironment()
695 for (ExplodedNode *N : DstPreVisit) { in handleConstructor()
731 for (ExplodedNode *N : DstPreCall) in handleConstructor()
735 for (ExplodedNode *N : DstPreCall) in handleConstructor()
767 for (ExplodedNode *N : DstEvaluated) { in handleConstructor()
779 for (ExplodedNode *I : DstEvaluatedPostProcessed) in handleConstructor()
792 ExplodedNode *Pre in handleConstructor()
[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()
363 ExplodedNode *BindedRetNode = G.getNode(Loc, state, false, &isNew); in processCallExit()
382 for (ExplodedNode *N : CleanedNodes) { in processCallExit()
389 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit()
409 for (ExplodedNode *I : DstPostPostCallCallback) { in processCallExit()
508 NodeBuilder &Bldr, ExplodedNode *Pre in REGISTER_MAP_WITH_PROGRAMSTATE()
[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 DExprEngineObjC.cpp22 ExplodedNode *Pred, in VisitLvalObjCIvarRefExpr()
39 ExplodedNode *Pred, in VisitObjCAtSynchronizedStmt()
52 for (ExplodedNode *Pred : dstLocation) { in populateObjCForDestinationSet()
84 ExplodedNode *Pred, in VisitObjCForCollectionStmt()
148 ExplodedNode *Pred, in VisitObjCMessage()
256 ExplodedNode *Pred = *DI; in VisitObjCMessage()
/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 *
539 VisitNode(const ExplodedNode *,BugReporterContext &,PathSensitiveBugReport &) VisitNode() argument
[all...]
H A DBugReporter.h60 class ExplodedNode; variable
81 /// Construct the Diagnostic message for the given ExplodedNode.
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 *errorNod
[all...]
/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 wasModifiedInFunction()
H A DMacOSKeychainAPIChecker.cpp110 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym,
115 ExplodedNode *N,
142 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
226 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport()
270 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
330 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
440 const ExplodedNode *
441 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode()
447 const ExplodedNode *AllocNode = N; in getAllocationNode()
466 const AllocationPair &AP, ExplodedNode *N, CheckerContext &C) const { in generateAllocatedDataNotReleasedReport()
[all …]
H A DFuchsiaHandleChecker.cpp210 ExplodedNode *reportLeaks(ArrayRef<SymbolRef> LeakedHandles,
211 CheckerContext &C, ExplodedNode *Pred) const;
222 void reportBug(SymbolRef Sym, ExplodedNode *ErrorNode, CheckerContext &C,
233 static const ExplodedNode *getAcquireSite(const ExplodedNode *N, SymbolRef Sym, in REGISTER_MAP_WITH_PROGRAMSTATE()
241 const ExplodedNode *Pred = N; in REGISTER_MAP_WITH_PROGRAMSTATE()
522 ExplodedNode *N = C.getPredecessor(); in checkDeadSymbols()
610 ExplodedNode *
612 CheckerContext &C, ExplodedNode *Pred) const { in reportLeaks()
613 ExplodedNode *ErrNode = C.generateNonFatalErrorNode(C.getState(), Pred); in reportLeaks()
624 ExplodedNode *ErrNode = C.generateErrorNode(C.getState()); in reportDoubleRelease()
[all …]
H A DNonNullParamChecker.cpp44 genReportNullAttrNonNull(const ExplodedNode *ErrorN, const Expr *ArgE,
47 genReportReferenceToNullPointer(const ExplodedNode *ErrorN,
182 if (ExplodedNode *errorNode = C.generateErrorNode(stateNull)) { in checkPreCall()
202 if (ExplodedNode *N = C.generateSink(stateNull, C.getPredecessor())) { in checkPreCall()
280 NonNullParamChecker::genReportNullAttrNonNull(const ExplodedNode *ErrorNode, in genReportNullAttrNonNull()
299 const ExplodedNode *ErrorNode, const Expr *ArgE) const { in genReportReferenceToNullPointer()
/llvm-project/clang/unittests/StaticAnalyzer/
H A DNoStateChangeFuncVisitorTest.cpp56 const ExplodedNode *N) override { in maybeEmitNoteForObjCSelf()
63 const ExplodedNode *N) override { in maybeEmitNoteForCXXThis()
69 const ExplodedNode *N) override { in maybeEmitNoteForParameters()
102 const ExplodedNode *N = C.generateErrorNode(); in checkPreCall()
130 wasModifiedInFunction(const ExplodedNode *CallEnterN, in wasModifiedInFunction()
131 const ExplodedNode *CallExitEndN) override { in wasModifiedInFunction()
224 wasModifiedBeforeCallExit(const ExplodedNode *CurrN, in wasModifiedBeforeCallExit()
225 const ExplodedNode *CallExitBeginN) override { in wasModifiedBeforeCallExit()
/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 *
[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,
/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
H A DMPIBugReporter.h44 const ExplodedNode *const ExplNode,
55 const ExplodedNode *const ExplNode,
66 const ExplodedNode *const ExplNode,
89 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
H A DMPIBugReporter.cpp26 const ExplodedNode *const ExplNode, in reportDoubleNonblocking()
51 const ExplodedNode *const ExplNode, in reportMissingWait()
71 const ExplodedNode *const ExplNode, in reportUnmatchedWait()
88 MPIBugReporter::RequestNodeVisitor::VisitNode(const ExplodedNode *N, in VisitNode()

12345