| /freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | ExplodedGraph.h | 66 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 D | ExprEngine.h | 85 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 D | CoreEngine.h | 61 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 D | CheckerContext.h | 27 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 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()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExplodedGraph.cpp | 54 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 D | CoreEngine.cpp | 118 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 D | BugReporterVisitors.cpp | 83 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 D | ExprEngineCXX.cpp | 34 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 D | ExprEngineCallAndReturn.cpp | 43 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 D | ExprEngineC.cpp | 42 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 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() 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 D | BugReporterVisitors.h | 43 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 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, 402 const ExplodedNode *getErrorNode() const { return ErrorNode; } in getErrorNode() [all …]
|
| H A D | Z3CrosscheckVisitor.h | 36 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 D | NoOwnershipChangeVisitor.h | 23 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 D | ValistChecker.cpp | 59 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 D | NoOwnershipChangeVisitor.cpp | 52 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 D | MacOSKeychainAPIChecker.cpp | 109 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 D | NonNullParamChecker.cpp | 43 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 D | MoveChecker.cpp | 174 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 D | ExprInspectionChecker.cpp | 33 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 D | RetainCountDiagnostics.cpp | 325 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 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,
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
| H A D | MPIBugReporter.cpp | 25 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()
|