| /llvm-project-15.0.7/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | ExprEngine.h | 84 class ExplodedNode; variable 236 void GenerateAutoTransition(ExplodedNode *N); 238 void GenerateCallExitNode(ExplodedNode *N); 331 ExplodedNode *Pred, 371 ExplodedNode *Pred, 381 ExplodedNode *Pred); 385 void processCallExit(ExplodedNode *Pred); 682 ExplodedNode *Pred, 767 ExplodedNode *Pred, 776 ExplodedNode *Pred, [all …]
|
| H A D | ExplodedGraph.h | 95 ExplodedNode * const *begin() const; 97 ExplodedNode * const *end() const; 208 ExplodedNode *getFirstPred() { in getFirstPred() 216 ExplodedNode *getFirstSucc() { in getFirstSucc() 300 llvm::DenseMap<const ExplodedNode *, const ExplodedNode *>; 369 ExplodedNode *addRoot(ExplodedNode *V) { in addRoot() 375 ExplodedNode *addEndOfPath(ExplodedNode *V) { in addEndOfPath() 389 using NodeTy = ExplodedNode; 425 using NodeMap = llvm::DenseMap<const ExplodedNode *, ExplodedNode *>; 466 ExplodedNodeSet(ExplodedNode *N) { in ExplodedNodeSet() [all …]
|
| H A D | CoreEngine.h | 109 ExplodedNode *Pred); 120 ExplodedNode *Pred); 126 ExplodedNode *Pred); 131 ExplodedNode *generateCallExitBeginNode(ExplodedNode *N, 352 SmallVector<ExplodedNode*, 2> sinksGenerated; 367 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred, 414 ExplodedNode *generateNode(const Stmt *S, 424 ExplodedNode *generateSink(const Stmt *S, 489 ExplodedNode *Pred; 519 ExplodedNode *generateNode(const iterator &I, [all …]
|
| H A D | CheckerContext.h | 26 ExplodedNode *Pred; 42 ExplodedNode *pred, 70 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor() 180 ExplodedNode *addTransition(ProgramStateRef State, ExplodedNode *Pred, 188 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred, 221 ExplodedNode * 236 ExplodedNode * 238 ExplodedNode *Pred, 377 ExplodedNode *addTransitionImpl(ProgramStateRef State, 379 ExplodedNode *P = nullptr, [all …]
|
| H A D | WorkList.h | 28 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-15.0.7/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExplodedGraph.cpp | 166 node->~ExplodedNode(); in collectNode() 204 void ExplodedNode::addPredecessor(ExplodedNode *V, ExplodedGraph &G) { in addPredecessor() 210 void ExplodedNode::NodeGroup::replaceNode(ExplodedNode *node) { in replaceNode() 214 assert(Storage.is<ExplodedNode *>()); in replaceNode() 216 assert(Storage.is<ExplodedNode *>()); in replaceNode() 219 void ExplodedNode::NodeGroup::addNode(ExplodedNode *N, ExplodedGraph &G) { in addNode() 225 assert(Storage.is<ExplodedNode *>()); in addNode() 233 ExplodedNode *Old = Storage.get<ExplodedNode *>(); in addNode() 260 ExplodedNode * const *ExplodedNode::NodeGroup::begin() const { in begin() 272 ExplodedNode * const *ExplodedNode::NodeGroup::end() const { in end() [all …]
|
| H A D | CoreEngine.cpp | 157 ExplodedNode *Node = WU.getNode(); in ExecuteWorkList() 209 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem() 528 ExplodedNode *Pred) { in generateNode() 543 void CoreEngine::enqueueStmtNode(ExplodedNode *N, in enqueueStmtNode() 593 ExplodedNode *CoreEngine::generateCallExitBeginNode(ExplodedNode *N, in generateCallExitBeginNode() 677 ExplodedNode* 682 ExplodedNode *Succ = in generateNode() 696 ExplodedNode* 700 ExplodedNode *Succ = in generateCaseStmtNode() 711 ExplodedNode* [all …]
|
| H A D | BugReporterVisitors.cpp | 373 static const ExplodedNode *getMatchingCallExitEnd(const ExplodedNode *N) { in getMatchingCallExitEnd() 394 const ExplodedNode *const CallExitBeginN) { in findModifyingFrames() 748 const ExplodedNode *CurrN, const ExplodedNode *CallExitBeginN) { in wasModifiedBeforeCallExit() 909 const ExplodedNode *N, const MemRegion *R, in addMacroVisitorIfNecessary() 1419 const ExplodedNode *StoreSite = nullptr; in VisitNode() 1420 const ExplodedNode *Pred = Succ->getFirstPred(); in VisitNode() 1648 const ExplodedNode *PrevN = N->getFirstPred(); in VisitNode() 1734 const ExplodedNode *Pred = Succ->getFirstPred(); in VisitNode() 1819 const ExplodedNode *Origin; 1983 const ExplodedNode *NI = N; in peelOffOuterExpr() [all …]
|
| H A D | ExprEngineCallAndReturn.cpp | 44 ExplodedNode *Pred) { in processCallEnter() 65 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter() 165 ExplodedNode *Pred, in removeDeadOnEndOfFunction() 206 void ExprEngine::processCallExit(ExplodedNode *CEBNode) { in processCallExit() 331 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit() 352 for (ExplodedNode *I : DstPostPostCallCallback) { in processCallExit() 512 if (ExplodedNode *N = G.getNode(Loc, State, false, &isNew)) { in inlineCall() 604 ExplodedNode *Pred, in finishArgumentConstruction() 646 for (ExplodedNode *I : dstCallEvaluated) in evalCall() 660 for (ExplodedNode *I : dstPostCall) { in evalCall() [all …]
|
| H A D | ExprEngineObjC.cpp | 22 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 D | ExprEngine.cpp | 1277 ExplodedNode *CleanPred = in ProcessTemporaryDtor() 1330 for (ExplodedNode *Node : PreVisit) { in VisitCXXBindTemporaryExpr() 2087 ExplodedNode *BeforeProcessingCall = nullptr; in replayWithoutInlining() 2189 const ExplodedNode *Sink = in processCFGBlockEntrance() 2436 for (ExplodedNode *PredN : CheckersOutSet) { in processBranch() 3219 ExplodedNode *Pred, in evalBind() 3277 ExplodedNode *Pred, in evalStore() 3301 ExplodedNode *Pred, in evalLoad() 3488 const ExplodedNode *N, in traverseHiddenNodes() 3526 [&](const ExplodedNode *OtherNode) { in getNodeLabel() [all …]
|
| /llvm-project-15.0.7/clang/include/clang/StaticAnalyzer/Core/BugReporter/ |
| H A D | BugReporterVisitors.h | 42 class ExplodedNode; variable 142 const ExplodedNode *StoreSite; 408 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 414 bool isUnderconstrained(const ExplodedNode *N) const; 426 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 453 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 510 const ExplodedNode *N, 612 void addConstraints(const ExplodedNode *N, 708 const ExplodedNode *N) = 0; 718 const ExplodedNode *N) = 0; [all …]
|
| H A D | BugReporter.h | 60 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, 515 bool addTrackedCondition(const ExplodedNode *Cond) { in addTrackedCondition() [all …]
|
| /llvm-project-15.0.7/clang/unittests/StaticAnalyzer/ |
| H A D | NoStateChangeFuncVisitorTest.cpp | 56 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() 133 wasModifiedInFunction(const ExplodedNode *CallEnterN, in wasModifiedInFunction() 134 const ExplodedNode *CallExitEndN) override { in wasModifiedInFunction() 227 wasModifiedBeforeCallExit(const ExplodedNode *CurrN, in wasModifiedBeforeCallExit() 228 const ExplodedNode *CallExitBeginN) override { in wasModifiedBeforeCallExit()
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | ValistChecker.cpp | 59 const ExplodedNode *getStartCallSite(const ExplodedNode *N, 92 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 215 if (ExplodedNode *N = C.addTransition(State)) in checkDeadSymbols() 224 const ExplodedNode * 225 ValistChecker::getStartCallSite(const ExplodedNode *N, in getStartCallSite() 228 const ExplodedNode *StartCallNode = N; in getStartCallSite() 254 if (ExplodedNode *N = C.generateErrorNode()) { in reportUninitializedAccess() 285 const ExplodedNode *StartNode = getStartCallSite(N, Reg); in reportLeakedVALists() 325 if (ExplodedNode *N = C.addTransition(State)) in checkVAListStartCall() 333 if (ExplodedNode *N = C.addTransition(State)) in checkVAListStartCall() [all …]
|
| H A D | MacOSKeychainAPIChecker.cpp | 113 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym, 118 ExplodedNode *N, 145 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 229 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport() 274 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 336 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 447 const ExplodedNode * 448 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode() 454 const ExplodedNode *AllocNode = N; in getAllocationNode() 485 const ExplodedNode *AllocNode = getAllocationNode(N, AP.first, C); in generateAllocatedDataNotReleasedReport() [all …]
|
| H A D | FuchsiaHandleChecker.cpp | 209 ExplodedNode *reportLeaks(ArrayRef<SymbolRef> LeakedHandles, 210 CheckerContext &C, ExplodedNode *Pred) const; 221 void reportBug(SymbolRef Sym, ExplodedNode *ErrorNode, CheckerContext &C, 232 static const ExplodedNode *getAcquireSite(const ExplodedNode *N, SymbolRef Sym, in REGISTER_MAP_WITH_PROGRAMSTATE() 240 const ExplodedNode *Pred = N; in REGISTER_MAP_WITH_PROGRAMSTATE() 521 ExplodedNode *N = C.getPredecessor(); in checkDeadSymbols() 609 ExplodedNode * 623 ExplodedNode *ErrNode = C.generateErrorNode(C.getState()); in reportDoubleRelease() 631 ExplodedNode *ErrNode = C.generateErrorNode(C.getState()); in reportUnownedRelease() 639 ExplodedNode *ErrNode = C.generateErrorNode(C.getState()); in reportUseAfterFree() [all …]
|
| H A D | NonNullParamChecker.cpp | 42 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 D | StreamChecker.cpp | 416 static const ExplodedNode *getAcquisitionSite(const ExplodedNode *N, 433 const ExplodedNode *StreamChecker::getAcquisitionSite(const ExplodedNode *N, in getAcquisitionSite() 442 const ExplodedNode *Pred = N; in getAcquisitionSite() 872 if (ExplodedNode *N = C.generateErrorNode(StateNull)) { in ensureStreamNonNull() 899 ExplodedNode *N = C.generateErrorNode(); in ensureStreamOpened() 915 ExplodedNode *N = C.generateErrorNode(); in ensureStreamOpened() 953 ExplodedNode *N = C.generateNonFatalErrorNode(State); in ensureNoFilePositionIndeterminate() 965 ExplodedNode *N = C.generateErrorNode(State); in ensureNoFilePositionIndeterminate() 987 if (ExplodedNode *N = C.generateNonFatalErrorNode(State)) { in ensureFseekWhenceCorrect() 1014 ExplodedNode * [all …]
|
| H A D | ExprInspectionChecker.cpp | 32 ExplodedNode *ExampleNode; 60 ExplodedNode *reportBug(llvm::StringRef Msg, CheckerContext &C, 62 ExplodedNode *reportBug(llvm::StringRef Msg, BugReporter &BR, ExplodedNode *N, 136 ExplodedNode *N = C.getPredecessor(); in getArgumentValueString() 163 ExplodedNode *ExprInspectionChecker::reportBug(llvm::StringRef Msg, in reportBug() 166 ExplodedNode *N = C.generateNonFatalErrorNode(); in reportBug() 171 ExplodedNode *ExprInspectionChecker::reportBug(llvm::StringRef Msg, in reportBug() 172 BugReporter &BR, ExplodedNode *N, in reportBug() 393 ExplodedNode *N = C.getPredecessor(); in checkDeadSymbols() 400 if (ExplodedNode *BugNode = reportBug("SYMBOL DEAD", C)) in checkDeadSymbols() [all …]
|
| H A D | MoveChecker.cpp | 172 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()
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/ |
| H A D | RetainCountDiagnostics.cpp | 325 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N, 330 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() 476 const ExplodedNode *PrevNode = N->getFirstPred(); in VisitNode() 655 const ExplodedNode* N; 658 AllocationInfo(const ExplodedNode *InN, in AllocationInfo() 667 const ExplodedNode *AllocationNode = N; in GetAllocationSite() [all …]
|
| H A D | RetainCountDiagnostics.h | 56 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-15.0.7/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
| H A D | MPIBugReporter.h | 45 const ExplodedNode *const ExplNode, 56 const ExplodedNode *const ExplNode, 67 const ExplodedNode *const ExplNode, 92 PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
|
| H A D | MPIBugReporter.cpp | 26 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()
|