| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/ |
| H A D | MemRegion.cpp | 124 MemRegion::~MemRegion() = default; 135 const MemRegion* r = this; in isSubRegionOf() 678 const MemRegion *R = this; in getDescriptiveName() 1262 const MemRegion *R = this; in getMemorySpace() 1291 const MemRegion *MemRegion::getBaseRegion() const { in getBaseRegion() 1292 const MemRegion *R = this; in getBaseRegion() 1312 const MemRegion *MemRegion::getMostDerivedObjectRegion() const { in getMostDerivedObjectRegion() 1313 const MemRegion *R = this; in getMostDerivedObjectRegion() 1319 bool MemRegion::isSubRegionOf(const MemRegion *) const { in isSubRegionOf() 1327 const MemRegion *MemRegion::StripCasts(bool StripBaseAndDerivedCasts) const { in StripCasts() [all …]
|
| H A D | Store.cpp | 74 Optional<const MemRegion *> StoreManager::castRegion(const MemRegion *R, in castRegion() 120 case MemRegion::CXXThisRegionKind: in castRegion() 121 case MemRegion::CodeSpaceRegionKind: in castRegion() 124 case MemRegion::HeapSpaceRegionKind: in castRegion() 134 case MemRegion::BlockCodeRegionKind: in castRegion() 136 case MemRegion::StringRegionKind: in castRegion() 138 case MemRegion::SymbolicRegionKind: in castRegion() 139 case MemRegion::AllocaRegionKind: in castRegion() 141 case MemRegion::FieldRegionKind: in castRegion() 142 case MemRegion::ObjCIvarRegionKind: in castRegion() [all …]
|
| H A D | RegionStore.cpp | 49 llvm::PointerIntPair<const MemRegion *, 2> P; 85 const MemRegion *getBaseRegion() const { in getBaseRegion() 723 bool isVisited(const MemRegion *R) { in isVisited() 731 const MemRegion *Base = RI.getKey(); in GenerateClusters() 758 const MemRegion *BaseR = E; in RunWorkList() 806 const MemRegion *R = K.getRegion(); in getSymbolicOffsetFields() 1002 bool AddToWorkList(const MemRegion *R); 1237 const MemRegion *R) { in isInitiallyIncludedGlobalRegion() 1650 const MemRegion *Base; in getElementRegionOffsetsWithBase() 1730 const MemRegion *Base; in getConstantValFromConstArrayInitializer() [all …]
|
| H A D | DynamicExtent.cpp | 22 REGISTER_MAP_WITH_PROGRAMSTATE(DynamicExtentMap, const clang::ento::MemRegion *, 29 const MemRegion *MR, SValBuilder &SVB) { in getDynamicExtent() 44 const MemRegion *MR, in getDynamicElementCount() 60 const MemRegion *MRegion = BufV.getAsRegion(); in getDynamicExtentWithOffset() 66 const MemRegion *BaseRegion = MRegion->getBaseRegion(); in getDynamicExtentWithOffset() 81 ProgramStateRef setDynamicExtent(ProgramStateRef State, const MemRegion *MR, in setDynamicExtent()
|
| H A D | DynamicType.cpp | 27 REGISTER_MAP_WITH_PROGRAMSTATE(DynamicTypeMap, const clang::ento::MemRegion *, 34 REGISTER_MAP_WITH_PROGRAMSTATE(DynamicCastMap, const clang::ento::MemRegion *, 44 DynamicTypeInfo getDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR) { in getDynamicTypeInfo() 64 const MemRegion *MR) { in getRawDynamicTypeInfo() 76 const MemRegion *MR, in getDynamicCastInfo() 99 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR, in setDynamicTypeInfo() 106 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR, in setDynamicTypeInfo() 112 const MemRegion *MR, in setDynamicTypeAndCastInfo() 158 static bool isLive(SymbolReaper &SR, const MemRegion *MR) { in isLive() 192 static raw_ostream &printJson(const MemRegion *Region, raw_ostream &Out, in printJson()
|
| /llvm-project-15.0.7/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | MemRegion.h | 54 class MemRegion; variable 64 const MemRegion *R = nullptr; 108 MemRegion(Kind k) : kind(k) {} in MemRegion() function 109 virtual ~MemRegion(); 442 class SubRegion : public MemRegion { 446 const MemRegion* superRegion; 448 SubRegion(const MemRegion *sReg, Kind k) : MemRegion(k), superRegion(sReg) { in SubRegion() 709 const MemRegion * const *R; 1159 const MemRegion *Region; 1345 llvm::FoldingSet<MemRegion> Regions; [all …]
|
| H A D | Store.h | 86 virtual Optional<SVal> getDefaultBinding(Store store, const MemRegion *R) = 0; 112 virtual StoreRef BindDefaultInitial(Store store, const MemRegion *R, 117 virtual StoreRef BindDefaultZero(Store store, const MemRegion *R) = 0; 184 Optional<const MemRegion *> castRegion(const MemRegion *region, 191 const MemRegion *region) const = 0; 202 using InvalidatedRegions = SmallVector<const MemRegion *, 8>; 246 virtual bool scanReachableSymbols(Store S, const MemRegion *R, 258 const MemRegion *region, SVal val) = 0; 263 const MemRegion* Binding = nullptr; 271 bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R, [all …]
|
| H A D | DynamicType.h | 32 DynamicTypeInfo getDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR); 37 const MemRegion *MR); 45 const MemRegion *MR, 50 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR, 54 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR, 69 const MemRegion *MR,
|
| H A D | DynamicExtent.h | 27 const MemRegion *MR, SValBuilder &SVB); 34 const MemRegion *MR, 38 ProgramStateRef setDynamicExtent(ProgramStateRef State, const MemRegion *MR,
|
| H A D | Regions.def | 1 //===-- Regions.def - Metadata about MemRegion kinds ------------*- C++ -*-===// 9 // The list of regions (MemRegion sub-classes) used in the Static Analyzer. 13 // REGION(Id, Parent) - for specific MemRegion sub-classes, reserving 36 ABSTRACT_REGION(MemSpaceRegion, MemRegion) 57 ABSTRACT_REGION(SubRegion, MemRegion)
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | StackAddrEscapeChecker.cpp | 57 void EmitStackError(CheckerContext &C, const MemRegion *R, 60 static SourceRange genName(raw_ostream &os, const MemRegion *R, 62 static SmallVector<const MemRegion *, 4> 137 SmallVector<const MemRegion *, 4> 140 SmallVector<const MemRegion *, 4> Regions; in getCapturedStackRegions() 145 const MemRegion *Region = Val.getAsRegion(); in getCapturedStackRegions() 263 const MemRegion *R = V.getAsRegion(); in checkPreStmt() 335 SmallVector<std::pair<const MemRegion *, const MemRegion *>, 10> V; in checkEndFunction() 341 const MemRegion *VR = Val.getAsRegion(); in checkEndFunction() 379 const MemRegion *Referrer = P.first; in checkEndFunction() [all …]
|
| H A D | MoveChecker.cpp | 179 const MemRegion *Region; 223 const MemRegion *Region, 263 static const MemRegion *unwrapRValueReferenceIndirection(const MemRegion *MR) { in unwrapRValueReferenceIndirection() 267 if (const MemRegion *OriginMR = Sym->getOriginRegion()) in unwrapRValueReferenceIndirection() 390 ExplodedNode *MoveChecker::reportBug(const MemRegion *Region, in reportBug() 471 const MemRegion *BaseRegion = ArgRegion->getBaseRegion(); in checkPostCall() 549 MoveChecker::classifyObject(const MemRegion *MR, in classifyObject() 684 const MemRegion *Region = E.first; in checkDeadSymbols() 697 ArrayRef<const MemRegion *> RequestedRegions, in checkRegionChanges() 698 ArrayRef<const MemRegion *> InvalidatedRegions, in checkRegionChanges() [all …]
|
| H A D | PointerArithChecker.cpp | 50 const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic, 52 const MemRegion *getPointedRegion(const MemRegion *Region, 104 const MemRegion * 105 PointerArithChecker::getPointedRegion(const MemRegion *Region, in getPointedRegion() 117 const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region, in getArrayRegion() 156 const MemRegion *Region = C.getSVal(E).getAsRegion(); in reportPointerArithMisuse() 166 if (const MemRegion *ArrayRegion = in reportPointerArithMisuse() 229 const MemRegion *Region = SV.getAsRegion(); in checkPostStmt() 250 const MemRegion *Region = AllocedVal.getAsRegion(); in checkPostStmt() 266 const MemRegion *Region = CastedVal.getAsRegion(); in checkPostStmt() [all …]
|
| H A D | ValistChecker.cpp | 28 typedef SmallVector<const MemRegion *, 2> RegionVector; 57 const MemRegion *getVAListAsRegion(SVal SV, const Expr *VAExpr, 74 ValistBugVisitor(const MemRegion *Reg, bool IsLeak = false) in ValistBugVisitor() 97 const MemRegion *Reg; 141 const MemRegion *VAList = in checkPreCall() 167 const MemRegion *Reg = SV.getAsRegion(); in getVAListAsRegion() 193 const MemRegion *VAList = in checkPreStmt() 226 const MemRegion *Reg) const { in getStartCallSite() 312 const MemRegion *VAList = in checkVAListStartCall() 320 const MemRegion *Arg2 = in checkVAListStartCall() [all …]
|
| H A D | Iterator.h | 30 const MemRegion *Cont; 38 IteratorPosition(const MemRegion *C, bool V, SymbolRef Of) in IteratorPosition() 42 const MemRegion *getContainer() const { return Cont; } in getContainer() 50 static IteratorPosition getPosition(const MemRegion *C, SymbolRef Of) { in getPosition() 58 IteratorPosition reAssign(const MemRegion *NewCont) const { in reAssign() 117 CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, IteratorPosition); 119 CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, ContainerData); 163 const MemRegion *Cont); 169 const MemRegion *Cont, const Stmt* S,
|
| H A D | SmartPtrModeling.cpp | 58 ArrayRef<const MemRegion *> Regions, 71 const MemRegion *ThisRegion) const; 161 const MemRegion *Region) { in removeTrackedSubregions() 345 const MemRegion *ThisR = in evalCall() 474 const MemRegion *Reg = S.getAsRegion(); in handleComparisionOp() 545 const MemRegion *Region = E.first; in checkDeadSymbols() 573 ArrayRef<const MemRegion *> ExplicitRegions, in checkRegionChanges() 676 const MemRegion *FirstThisRegion = First.getAsRegion(); in handleSwap() 679 const MemRegion *SecondThisRegion = Second.getAsRegion(); in handleSwap() 779 CheckerContext &C, const MemRegion *ThisRegion, in updateMovedSmartPointers() [all …]
|
| H A D | ContainerModeling.cpp | 55 const MemRegion *ContReg, 100 bool hasSubscriptOperator(ProgramStateRef State, const MemRegion *Reg); 101 bool frontModifiable(ProgramStateRef State, const MemRegion *Reg); 102 bool backModifiable(ProgramStateRef State, const MemRegion *Reg); 116 const MemRegion *Cont); 130 const MemRegion *Cont, 142 bool hasLiveIterators(ProgramStateRef State, const MemRegion *Cont); 763 const MemRegion *Reg) { in getCXXRecordDecl() 792 bool frontModifiable(ProgramStateRef State, const MemRegion *Reg) { in frontModifiable() 807 bool backModifiable(ProgramStateRef State, const MemRegion *Reg) { in backModifiable() [all …]
|
| H A D | ErrnoModeling.cpp | 71 REGISTER_TRAIT_WITH_PROGRAMSTATE(ErrnoRegion, const MemRegion *) in REGISTER_TRAIT_WITH_PROGRAMSTATE() argument 142 const MemRegion *ErrnoR = in checkBeginFunction() 160 RMgr.getGlobalsRegion(MemRegion::GlobalSystemSpaceRegionKind); in checkBeginFunction() 170 const MemRegion *ErrnoR = RMgr.getElementRegion( in checkBeginFunction() 186 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in evalCall() 211 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in getErrnoValue() 221 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in setErrnoValue() 232 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in setErrnoValue() 243 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in getErrnoLoc() 269 const MemRegion *ErrnoR = BR.getErrorNode()->getState()->get<ErrnoRegion>(); in getErrnoNoteTag()
|
| H A D | SmartPtrChecker.cpp | 42 void reportBug(CheckerContext &C, const MemRegion *DerefRegion, 44 void explainDereference(llvm::raw_ostream &OS, const MemRegion *DerefRegion, 68 const MemRegion *ThisRegion = OC->getCXXThisVal().getAsRegion(); in checkPreCall() 79 void SmartPtrChecker::reportBug(CheckerContext &C, const MemRegion *DerefRegion, in reportBug() 94 const MemRegion *DerefRegion, in explainDereference()
|
| H A D | PointerSubChecker.cpp | 44 const MemRegion *LR = LV.getAsRegion(); in checkPreStmt() 45 const MemRegion *RR = RV.getAsRegion(); in checkPreStmt() 50 const MemRegion *BaseLR = LR->getBaseRegion(); in checkPreStmt() 51 const MemRegion *BaseRR = RR->getBaseRegion(); in checkPreStmt()
|
| H A D | ErrnoChecker.cpp | 41 ArrayRef<const MemRegion *> ExplicitRegions, 42 ArrayRef<const MemRegion *> Regions, 53 const MemRegion *ErrnoRegion, 111 CheckerContext &C, ProgramStateRef State, const MemRegion *ErrnoRegion, in generateErrnoNotCheckedBug() 219 ArrayRef<const MemRegion *> ExplicitRegions, in checkRegionChanges() 220 ArrayRef<const MemRegion *> Regions, const LocationContext *LCtx, in checkRegionChanges() 225 const MemRegion *ErrnoRegion = ErrnoLoc->getAsRegion(); in checkRegionChanges()
|
| H A D | CStringChecker.cpp | 771 case MemRegion::StringRegionKind: in setCStringLength() 777 case MemRegion::AllocaRegionKind: in setCStringLength() 780 case MemRegion::FieldRegionKind: in setCStringLength() 785 case MemRegion::ElementRegionKind: in setCStringLength() 883 case MemRegion::AllocaRegionKind: in getCStringLength() 886 case MemRegion::FieldRegionKind: in getCStringLength() 892 case MemRegion::ElementRegionKind: in getCStringLength() 1075 case MemRegion::CXXThisRegionKind: in SummarizeRegion() 1086 case MemRegion::FieldRegionKind: in SummarizeRegion() 2436 const MemRegion *MR = *I; in checkRegionChanges() [all …]
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Checkers/cert/ |
| H A D | InvalidPtrChecker.cpp | 82 REGISTER_SET_WITH_PROGRAMSTATE(InvalidMemoryRegions, const MemRegion *) in REGISTER_SET_WITH_PROGRAMSTATE() argument 85 REGISTER_TRAIT_WITH_PROGRAMSTATE(EnvPtrRegion, const MemRegion *) in REGISTER_SET_WITH_PROGRAMSTATE() 90 const MemRegion *) in REGISTER_SET_WITH_PROGRAMSTATE() 96 const MemRegion *SymbolicEnvPtrRegion = State->get<EnvPtrRegion>(); in REGISTER_SET_WITH_PROGRAMSTATE() 123 const MemRegion *PrevReg = *Reg; in postPreviousReturnInvalidatingCall() 147 const MemRegion *MR = in postPreviousReturnInvalidatingCall() 148 const_cast<MemRegion *>(SymRegOfRetVal->getBaseRegion()); in postPreviousReturnInvalidatingCall() 163 static const MemRegion *findInvalidatedSymbolicBase(ProgramStateRef State, in findInvalidatedSymbolicBase() 206 if (const MemRegion *InvalidatedSymbolicBase = in checkPostCall() 239 const MemRegion *EnvpReg = in checkBeginFunction() [all …]
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
| H A D | MPIBugReporter.h | 44 const MemRegion *const RequestRegion, 55 const MemRegion *const RequestRegion, 66 const MemRegion *const RequestRegion, 82 RequestNodeVisitor(const MemRegion *const MemoryRegion, in RequestNodeVisitor() 97 const MemRegion *const RequestRegion;
|
| H A D | MPIChecker.cpp | 30 const MemRegion *const MR = in checkDoubleNonblocking() 61 const MemRegion *const MR = topRegionUsedByWait(PreCallEvent); in checkUnmatchedWaits() 70 llvm::SmallVector<const MemRegion *, 2> ReqRegions; in checkUnmatchedWaits() 135 const MemRegion *MPIChecker::topRegionUsedByWait(const CallEvent &CE) const { in topRegionUsedByWait() 142 return (const MemRegion *)nullptr; in topRegionUsedByWait() 147 llvm::SmallVector<const MemRegion *, 2> &ReqRegions, in allRegionsUsedByWait() argument 148 const MemRegion *const MR, const CallEvent &CE, CheckerContext &Ctx) const { in allRegionsUsedByWait() 177 ReqRegions.push_back(ER->getAs<MemRegion>()); in allRegionsUsedByWait()
|