Home
last modified time | relevance | path

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

12345

/openbsd-src/gnu/llvm/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DExplodedGraph.h65 class ExplodedNode : public llvm::FoldingSetNode {
95 ExplodedNode * const *begin() const;
97 ExplodedNode * const *end() const;
106 void addNode(ExplodedNode *N, ExplodedGraph &G);
113 void replaceNode(ExplodedNode *node);
137 explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, in ExplodedNode() function
195 void addPredecessor(ExplodedNode *V, ExplodedGraph &G);
208 ExplodedNode *getFirstPred() { in getFirstPred()
212 const ExplodedNode *getFirstPred() const { in getFirstPred()
213 return const_cast<ExplodedNode*>(this)->getFirstPred(); in getFirstPred()
[all …]
H A DExprEngine.h85 class ExplodedNode; variable
237 void GenerateAutoTransition(ExplodedNode *N);
239 void GenerateCallExitNode(ExplodedNode *N);
250 std::string DumpGraph(ArrayRef<const ExplodedNode *> Nodes,
258 void ViewGraph(ArrayRef<const ExplodedNode *> Nodes);
292 void removeDead(ExplodedNode *Node, ExplodedNodeSet &Out,
299 void processCFGElement(const CFGElement E, ExplodedNode *Pred,
302 void ProcessStmt(const Stmt *S, ExplodedNode *Pred);
304 void ProcessLoopExit(const Stmt* S, ExplodedNode *Pred);
306 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred);
[all …]
H A DCoreEngine.h66 std::vector<std::pair<BlockEdge, const ExplodedNode *>>;
69 std::vector<std::pair<const CFGBlock *, const ExplodedNode *>>;
109 ExplodedNode *Pred);
111 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred);
112 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred);
113 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred);
115 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred);
117 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred);
120 ExplodedNode *Pred);
122 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()
/openbsd-src/gnu/llvm/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()
237 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge()
307 ExplodedNode *Pred) { in HandleBlockEntrance()
324 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit()
448 void CoreEngine::HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred) { in HandleCallEnter()
454 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch()
466 ExplodedNode *Pred) { in HandleCleanupTemporaryBranch()
[all …]
H A DBugReporterVisitors.cpp86 static const Expr *peelOffOuterExpr(const Expr *Ex, const ExplodedNode *N);
161 getLocationRegionIfReference(const Expr *E, const ExplodedNode *N, in getLocationRegionIfReference()
190 static bool hasVisibleUpdate(const ExplodedNode *LeftNode, SVal LeftVal, in hasVisibleUpdate()
191 const ExplodedNode *RightNode, SVal RightVal) { in hasVisibleUpdate()
209 const ExplodedNode *N) { in getSValForVar()
233 getConcreteIntegerValue(const Expr *CondVarExpr, const ExplodedNode *N) { in getConcreteIntegerValue()
242 const ExplodedNode *N, in isVarAnInterestingCondition()
258 static bool isInterestingExpr(const Expr *E, const ExplodedNode *N, in isInterestingExpr()
292 const ExplodedNode *N, in wasRegionOfInterestModifiedAt()
324 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()
386 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit()
406 for (ExplodedNode *I : DstPostPostCallCallback) { in processCallExit()
505 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_MAP_WITH_PROGRAMSTATE()
534 ExplodedNode *Pred, ProgramStateRef State) { in inlineCall()
[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()
243 ExplodedNode *Pred = *DI; in VisitObjCMessage()
H A DExprEngine.cpp961 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement()
999 const ExplodedNode *Pred, in shouldRemoveDeadBindings()
1023 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead()
1103 void ExprEngine::ProcessStmt(const Stmt *currStmt, ExplodedNode *Pred) { in ProcessStmt()
1133 void ExprEngine::ProcessLoopExit(const Stmt* S, ExplodedNode *Pred) { in ProcessLoopExit()
1152 ExplodedNode *Pred) { in ProcessInitializer()
1277 ExplodedNode *Pred) { in ProcessImplicitDtor()
1304 ExplodedNode *Pred) { in ProcessNewAllocator()
1323 ExplodedNode *Pred, in ProcessAutomaticObjDtor()
1393 ExplodedNode *Pred, in ProcessDeleteDtor()
[all …]
H A DBugReporter.cpp98 std::pair<PathDiagnosticCallPiece *, const ExplodedNode *>;
103 llvm::DenseMap<const ExplodedNode *, std::vector<PathDiagnosticPieceRef>>;
118 const ExplodedNode *CurrentNode;
137 const ExplodedNode *ErrorNode,
154 const ExplodedNode *getCurrentNode() const { return CurrentNode; } in getCurrentNode()
215 const ExplodedNode *const ErrorNode;
230 PathSensitiveBugReport *r, const ExplodedNode *ErrorNode,
285 std::string StackHintGeneratorForSymbol::getMessage(const ExplodedNode *N){ in getMessage()
728 const ExplodedNode *N = I.second; in updateStackPiecesWithMessage()
1033 const ExplodedNode *N) { in getStmtBeforeCond()
[all …]
H A DExprEngineCXX.cpp29 ExplodedNode *Pred, in CreateCXXTemporaryObject()
42 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy()
575 ExplodedNode *Pred, in handleConstructor()
815 for (ExplodedNode *N : DstEvaluated) { in handleConstructor()
827 for (ExplodedNode *I : DstEvaluatedPostProcessed) in handleConstructor()
840 ExplodedNode *Pred, in VisitCXXConstructExpr()
846 const CXXInheritedCtorInitExpr *CE, ExplodedNode *Pred, in VisitCXXInheritedCtorInitExpr()
855 ExplodedNode *Pred, in VisitCXXDestructor()
919 ExplodedNode *Pred, in VisitCXXNewAllocatorCall()
936 for (ExplodedNode *I : DstPreCall) { in VisitCXXNewAllocatorCall()
[all …]
/openbsd-src/gnu/llvm/clang/include/clang/StaticAnalyzer/Core/BugReporter/
H A DBugReporterVisitors.h43 class ExplodedNode; variable
66 virtual PathDiagnosticPieceRef VisitNode(const ExplodedNode *Succ,
73 const ExplodedNode *EndPathNode,
82 const ExplodedNode *N,
89 getDefaultEndPath(const BugReporterContext &BRC, const ExplodedNode *N,
143 const ExplodedNode *StoreSite;
213 virtual Result track(const Expr *E, const ExplodedNode *N,
307 virtual Tracker::Result handle(const Expr *E, const ExplodedNode *Original,
308 const ExplodedNode *ExprNode,
364 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 …]
/openbsd-src/gnu/llvm/clang/lib/StaticAnalyzer/Checkers/
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,
214 if (ExplodedNode *N = C.addTransition(State)) in checkDeadSymbols()
223 const ExplodedNode *
224 ValistChecker::getStartCallSite(const ExplodedNode *N, in getStartCallSite()
227 const ExplodedNode *StartCallNode = N; in getStartCallSite()
253 if (ExplodedNode *N = C.generateErrorNode()) { in reportUninitializedAccess()
267 CheckerContext &C, ExplodedNode *N, in reportLeakedVALists()
[all …]
H A DMacOSKeychainAPIChecker.cpp114 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym,
119 ExplodedNode *N,
146 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
230 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport()
275 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
337 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
448 const ExplodedNode *
449 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode()
455 const ExplodedNode *AllocNode = N; in getAllocationNode()
474 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.cpp42 genReportNullAttrNonNull(const ExplodedNode *ErrorN, const Expr *ArgE,
45 genReportReferenceToNullPointer(const ExplodedNode *ErrorN,
180 if (ExplodedNode *errorNode = C.generateErrorNode(stateNull)) { in checkPreCall()
200 if (ExplodedNode *N = C.generateSink(stateNull, C.getPredecessor())) { in checkPreCall()
278 NonNullParamChecker::genReportNullAttrNonNull(const ExplodedNode *ErrorNode, in genReportNullAttrNonNull()
304 const ExplodedNode *ErrorNode, const Expr *ArgE) const { in genReportReferenceToNullPointer()
H A DMoveChecker.cpp172 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
216 ExplodedNode *reportBug(const MemRegion *Region, const CXXRecordDecl *RD,
222 const ExplodedNode *getMoveLocation(const ExplodedNode *N,
274 MoveChecker::MovedBugVisitor::VisitNode(const ExplodedNode *N, in VisitNode()
332 const ExplodedNode *MoveChecker::getMoveLocation(const ExplodedNode *N, in getMoveLocation()
337 const ExplodedNode *MoveNode = N; in getMoveLocation()
380 ExplodedNode *N = reportBug(Region, RD, C, MK); in modelUse()
390 ExplodedNode *MoveChecker::reportBug(const MemRegion *Region, in reportBug()
393 if (ExplodedNode *N = misuseCausesCrash(MK) ? C.generateErrorNode() in reportBug()
397 const ExplodedNode *MoveNode = getMoveLocation(N, Region, C); in reportBug()
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()
395 ExplodedNode *N = C.getPredecessor(); in checkDeadSymbols()
402 if (ExplodedNode *BugNode = reportBug("SYMBOL DEAD", C)) in checkDeadSymbols()
[all …]
/openbsd-src/gnu/llvm/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,
/openbsd-src/gnu/llvm/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
H A DMPIBugReporter.h45 const ExplodedNode *const ExplNode,
56 const ExplodedNode *const ExplNode,
67 const ExplodedNode *const ExplNode,
92 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