/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
D | ExprEngine.h | 144 void GenerateAutoTransition(ExplodedNode *N); 146 void GenerateCallExitNode(ExplodedNode *N); 153 void ViewGraph(ArrayRef<const ExplodedNode*> Nodes); 187 void removeDead(ExplodedNode *Node, ExplodedNodeSet &Out, 194 void processCFGElement(const CFGElement E, ExplodedNode *Pred, 197 void ProcessStmt(const CFGStmt S, ExplodedNode *Pred); 199 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred); 201 void ProcessImplicitDtor(const CFGImplicitDtor D, ExplodedNode *Pred); 203 void ProcessNewAllocator(const CXXNewExpr *NE, ExplodedNode *Pred); 206 ExplodedNode *Pred, ExplodedNodeSet &Dst); [all …]
|
D | ExplodedGraph.h | 55 class ExplodedNode : public llvm::FoldingSetNode { 85 ExplodedNode * const *begin() const; 87 ExplodedNode * const *end() const; 96 void addNode(ExplodedNode *N, ExplodedGraph &G); 103 void replaceNode(ExplodedNode *node); 125 explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, in ExplodedNode() function 176 void addPredecessor(ExplodedNode *V, ExplodedGraph &G); 189 ExplodedNode *getFirstPred() { in getFirstPred() 193 const ExplodedNode *getFirstPred() const { in getFirstPred() 194 return const_cast<ExplodedNode*>(this)->getFirstPred(); in getFirstPred() [all …]
|
D | CoreEngine.h | 52 typedef std::vector<std::pair<BlockEdge, const ExplodedNode*> > 55 typedef std::vector<std::pair<const CFGBlock*, const ExplodedNode*> > 89 ExplodedNode *Pred); 91 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred); 92 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred); 93 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred); 95 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred); 97 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred); 100 ExplodedNode *Pred); 102 const CFGBlock *B, ExplodedNode *Pred); [all …]
|
D | CheckerContext.h | 73 ExplodedNode *Pred; 89 ExplodedNode *pred, 117 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor() 187 static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) { in getLocationRegionIfPostStore() 208 ExplodedNode *addTransition(ProgramStateRef State = nullptr, 220 ExplodedNode *addTransition(ProgramStateRef State, 221 ExplodedNode *Pred, 229 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred, 241 ExplodedNode *generateErrorNode(ProgramStateRef State = nullptr, 254 ExplodedNode * [all …]
|
D | SubEngine.h | 32 class ExplodedNode; variable 56 virtual void processCFGElement(const CFGElement E, ExplodedNode* Pred, 64 ExplodedNode *Pred) = 0; 70 ExplodedNode *Pred, 80 ExplodedNode *Pred, 89 ExplodedNode *Pred, 105 ExplodedNode *Pred, 112 ExplodedNode *Pred) = 0; 116 ExplodedNode *Pred) = 0; 119 virtual void processCallExit(ExplodedNode *Pred) = 0;
|
D | WorkList.h | 29 ExplodedNode *node; 35 WorkListUnit(ExplodedNode *N, BlockCounter C, in WorkListUnit() 42 explicit WorkListUnit(ExplodedNode *N, BlockCounter C) in WorkListUnit() 49 ExplodedNode *getNode() const { return node; } in getNode() 69 void enqueue(ExplodedNode *N, const CFGBlock *B, unsigned idx) { in enqueue() 73 void enqueue(ExplodedNode *N) { in enqueue()
|
/external/clang/lib/StaticAnalyzer/Core/ |
D | ExplodedGraph.cpp | 34 ExplodedNode::Auditor::~Auditor() {} in ~Auditor() 37 static ExplodedNode::Auditor* NodeAuditor = nullptr; 40 void ExplodedNode::SetAuditor(ExplodedNode::Auditor* A) { in SetAuditor() 67 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { in shouldCollect() 102 const ExplodedNode *pred = *(node->pred_begin()); in shouldCollect() 106 const ExplodedNode *succ = *(node->succ_begin()); in shouldCollect() 164 void ExplodedGraph::collectNode(ExplodedNode *node) { in collectNode() 170 ExplodedNode *pred = *(node->pred_begin()); in collectNode() 171 ExplodedNode *succ = *(node->succ_begin()); in collectNode() 177 node->~ExplodedNode(); in collectNode() [all …]
|
D | CoreEngine.cpp | 198 ExplodedNode *Node = G.getNode(StartLoc, InitState, false, &IsNew); in ExecuteWorkList() 234 ExplodedNode *Node = WU.getNode(); in ExecuteWorkList() 242 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem() 270 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem() 296 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge() 336 ExplodedNode *Pred) { in HandleBlockEntrance() 355 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit() 471 void CoreEngine::HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred) { in HandleCallEnter() 477 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch() 489 ExplodedNode *Pred) { in HandleCleanupTemporaryBranch() [all …]
|
D | BugReporterVisitors.cpp | 86 const Stmt *bugreporter::GetDenomExpr(const ExplodedNode *N) { in GetDenomExpr() 93 const Stmt *bugreporter::GetRetValExpr(const ExplodedNode *N) { in GetRetValExpr() 106 const ExplodedNode *EndPathNode, BugReport &BR) { in getEndPath() 111 BugReporterContext &BRC, const ExplodedNode *EndPathNode, BugReport &BR) { in getDefaultEndPath() 168 static void addVisitorIfNecessary(const ExplodedNode *Node, const Stmt *S, in addVisitorIfNecessary() 231 PathDiagnosticPiece *visitNodeInitial(const ExplodedNode *N, in visitNodeInitial() 232 const ExplodedNode *PrevN, in visitNodeInitial() 333 PathDiagnosticPiece *visitNodeMaybeUnsuppress(const ExplodedNode *N, in visitNodeMaybeUnsuppress() 334 const ExplodedNode *PrevN, in visitNodeMaybeUnsuppress() 386 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, in VisitNode() [all …]
|
D | ExprEngineCallAndReturn.cpp | 41 ExplodedNode *Pred) { in processCallEnter() 62 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter() 74 const CFGBlock*> getLastStmt(const ExplodedNode *Node) { in getLastStmt() 163 ExplodedNode *Pred, in removeDeadOnEndOfFunction() 221 void ExprEngine::processCallExit(ExplodedNode *CEBNode) { in processCallExit() 291 ExplodedNode *BindedRetNode = G.getNode(Loc, state, false, &isNew); in processCallExit() 318 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit() 405 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_TRAIT_WITH_PROGRAMSTATE() 439 if (ExplodedNode *N = G.getNode(Loc, State, false, &isNew)) { in REGISTER_TRAIT_WITH_PROGRAMSTATE() 470 void ExprEngine::VisitCallExpr(const CallExpr *CE, ExplodedNode *Pred, in VisitCallExpr() [all …]
|
D | ExprEngine.cpp | 289 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement() 318 const ExplodedNode *Pred, in shouldRemoveDeadBindings() 343 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead() 426 ExplodedNode *Pred) { in ProcessStmt() 457 ExplodedNode *Pred) { in ProcessInitializer() 536 ExplodedNode *N = *I; in ProcessInitializer() 545 ExplodedNode *Pred) { in ProcessImplicitDtor() 572 ExplodedNode *Pred) { in ProcessNewAllocator() 591 ExplodedNode *Pred, in ProcessAutomaticObjDtor() 610 ExplodedNode *Pred, in ProcessDeleteDtor() [all …]
|
D | ExprEngineCXX.cpp | 26 ExplodedNode *Pred, in CreateCXXTemporaryObject() 39 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy() 108 ExplodedNode *Pred) { in getRegionForConstructedObject() 234 ExplodedNode *Pred, in VisitCXXConstructExpr() 359 ExplodedNode *Pred, in VisitCXXDestructor() 401 ExplodedNode *Pred, in VisitCXXNewAllocatorCall() 426 void ExprEngine::VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred, in VisitCXXNewExpr() 515 ExplodedNode *NewN = Bldr.generateNode(CNE, Pred, State); in VisitCXXNewExpr() 532 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCXXDeleteExpr() 539 ExplodedNode *Pred, in VisitCXXCatchStmt() [all …]
|
D | BugReporter.cpp | 57 static const Stmt *GetPreviousStmt(const ExplodedNode *N) { in GetPreviousStmt() 66 GetCurrentOrPreviousStmt(const ExplodedNode *N) { in GetCurrentOrPreviousStmt() 315 const ExplodedNode *getOriginalNode(const ExplodedNode *N) override { in getOriginalNode() 334 PathDiagnosticLocation ExecutionContinues(const ExplodedNode *N); 337 const ExplodedNode *N); 364 PathDiagnosticBuilder::ExecutionContinues(const ExplodedNode *N) { in ExecutionContinues() 374 const ExplodedNode *N) { in ExecutionContinues() 503 PathDiagnostic &PD, PathDiagnosticBuilder &PDB, const ExplodedNode *N, in GenerateVisitorsOnlyPathDiagnostic() 512 while (const ExplodedNode *Pred = N->getFirstPred()) { in GenerateVisitorsOnlyPathDiagnostic() 528 typedef std::pair<PathDiagnosticCallPiece*, const ExplodedNode*> StackDiagPair; [all …]
|
D | ExprEngineObjC.cpp | 23 ExplodedNode *Pred, in VisitLvalObjCIvarRefExpr() 40 ExplodedNode *Pred, in VisitObjCAtSynchronizedStmt() 46 ExplodedNode *Pred, in VisitObjCForCollectionStmt() 136 ExplodedNode *Pred, in VisitObjCMessage() 226 ExplodedNode *Pred = *DI; in VisitObjCMessage()
|
D | ExprEngineC.cpp | 23 ExplodedNode *Pred, in VisitBinaryOperator() 187 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, in VisitBlockExpr() 250 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCast() 258 ExplodedNode *subExprNode = *I; in VisitCast() 444 ExplodedNode *Pred, in VisitCompoundLiteralExpr() 476 void ExprEngine::VisitDeclStmt(const DeclStmt *DS, ExplodedNode *Pred, in VisitDeclStmt() 495 ExplodedNode *N = *I; in VisitDeclStmt() 503 ExplodedNode *UpdatedN = N; in VisitDeclStmt() 552 void ExprEngine::VisitLogicalExpr(const BinaryOperator* B, ExplodedNode *Pred, in VisitLogicalExpr() 560 ExplodedNode *N = Pred; in VisitLogicalExpr() [all …]
|
/external/clang/include/clang/StaticAnalyzer/Core/BugReporter/ |
D | BugReporterVisitor.h | 28 class ExplodedNode; variable 62 virtual PathDiagnosticPiece *VisitNode(const ExplodedNode *Succ, 63 const ExplodedNode *Pred, 74 getEndPath(BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR); 80 getDefaultEndPath(BugReporterContext &BRC, const ExplodedNode *N, 124 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 125 const ExplodedNode *PrevN, 153 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 154 const ExplodedNode *PrevN, 160 bool isUnderconstrained(const ExplodedNode *N) const; [all …]
|
D | BugReporter.h | 41 class ExplodedNode; variable 61 virtual const ExplodedNode* 62 getOriginalNode(const ExplodedNode *N) = 0; 82 const ExplodedNode *ErrorNode; 146 BugReport(BugType& bt, StringRef desc, const ExplodedNode *errornode) in BugReport() 151 const ExplodedNode *errornode) in BugReport() 167 BugReport(BugType& bt, StringRef desc, const ExplodedNode *errornode, in BugReport() 180 const ExplodedNode *getErrorNode() const { return ErrorNode; } in getErrorNode()
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
D | MacOSKeychainAPIChecker.cpp | 103 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym, 107 const AllocationPair &AP, ExplodedNode *N, CheckerContext &C) const; 146 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 147 const ExplodedNode *PrevN, 250 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport() 296 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 359 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 425 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 488 const ExplodedNode * 489 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode() [all …]
|
D | NonNullParamChecker.cpp | 40 genReportNullAttrNonNull(const ExplodedNode *ErrorN, const Expr *ArgE) const; 42 genReportReferenceToNullPointer(const ExplodedNode *ErrorN, 146 if (ExplodedNode *errorNode = C.generateErrorNode(stateNull)) { in checkPreCall() 164 if (ExplodedNode *N = C.generateSink(stateNull, C.getPredecessor())) { in checkPreCall() 184 NonNullParamChecker::genReportNullAttrNonNull(const ExplodedNode *ErrorNode, in genReportNullAttrNonNull() 203 const ExplodedNode *ErrorNode, const Expr *ArgE) const { in genReportReferenceToNullPointer()
|
D | CallAndMessageChecker.cpp | 81 ExplodedNode *N) const; 100 ExplodedNode *N = C.generateErrorNode(); in emitBadCall() 172 if (ExplodedNode *N = C.generateErrorNode()) { in uninitRefOrPointer() 203 if (ExplodedNode *N = C.generateErrorNode()) { in PreVisitProcessArg() 268 if (ExplodedNode *N = C.generateErrorNode()) { in PreVisitProcessArg() 341 ExplodedNode *N = C.generateErrorNode(); in checkPreStmt() 398 ExplodedNode *N = C.generateErrorNode(); in checkPreCall() 446 if (ExplodedNode *N = C.generateErrorNode()) { in checkPreObjCMessage() 491 ExplodedNode *N) const { in emitNilReceiverBug() 563 if (ExplodedNode *N = C.generateErrorNode(state, &Tag)) in HandleNilReceiver()
|
D | ObjCSuperDeallocChecker.cpp | 76 PathDiagnosticPiece *VisitNode(const ExplodedNode *Succ, 77 const ExplodedNode *Pred, 188 ExplodedNode *ErrNode = C.generateErrorNode(); in reportUseAfterDealloc() 252 PathDiagnosticPiece *SuperDeallocBRVisitor::VisitNode(const ExplodedNode *Succ, in VisitNode() 253 const ExplodedNode *Pred, in VisitNode()
|
D | PthreadLockChecker.cpp | 145 ExplodedNode *N = C.generateErrorNode(); in AcquireLock() 207 ExplodedNode *N = C.generateErrorNode(); in ReleaseLock() 230 ExplodedNode *N = C.generateErrorNode(); in ReleaseLock() 275 ExplodedNode *N = C.generateErrorNode(); in DestroyLock() 310 ExplodedNode *N = C.generateErrorNode(); in InitLock() 323 ExplodedNode *N = C.generateErrorNode(); in reportUseDestroyedBug()
|
/external/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
D | MPIBugReporter.h | 46 const ExplodedNode *const ExplNode, 59 const ExplodedNode *const ExplNode, 70 const ExplodedNode *const ExplNode, 95 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 96 const ExplodedNode *PrevN,
|
D | MPIBugReporter.cpp | 27 const ExplodedNode *const ExplNode, in reportDoubleNonblocking() 52 const ExplodedNode *const ExplNode, in reportMissingWait() 72 const ExplodedNode *const ExplNode, in reportUnmatchedWait() 89 const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, in VisitNode()
|
/external/clang/lib/StaticAnalyzer/Frontend/ |
D | AnalysisConsumer.cpp | 57 static std::unique_ptr<ExplodedNode::Auditor> CreateUbiViz(); 656 std::unique_ptr<ExplodedNode::Auditor> Auditor; in ActionExprEngine() 659 ExplodedNode::SetAuditor(Auditor.get()); in ActionExprEngine() 668 ExplodedNode::SetAuditor(nullptr); in ActionExprEngine() 722 class UbigraphViz : public ExplodedNode::Auditor { 735 void AddEdge(ExplodedNode *Src, ExplodedNode *Dst) override; 740 static std::unique_ptr<ExplodedNode::Auditor> CreateUbiViz() { in CreateUbiViz() 751 void UbigraphViz::AddEdge(ExplodedNode *Src, ExplodedNode *Dst) { in AddEdge()
|