Home
last modified time | relevance | path

Searched refs:MemRegion (Results 1 – 25 of 193) sorted by relevance

12345678

/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
DMemRegion.h49 const MemRegion *R;
60 RegionOffset(const MemRegion *r, int64_t off) : R(r), Offset(off) {} in RegionOffset()
62 const MemRegion *getRegion() const { return R; } in getRegion()
79 class MemRegion : public llvm::FoldingSetNode {
91 MemRegion(Kind k) : kind(k) {} in MemRegion() function
92 virtual ~MemRegion();
103 const MemRegion *getBaseRegion() const;
106 virtual bool isSubRegionOf(const MemRegion *R) const;
108 const MemRegion *StripCasts(bool StripBaseCasts = true) const;
179 class MemSpaceRegion : public MemRegion {
[all …]
DStore.h72 virtual StoreRef BindDefault(Store store, const MemRegion *R, SVal V);
107 const MemRegion *region, in getSizeInElements()
137 const ElementRegion *GetElementZeroRegion(const MemRegion *R, QualType T);
142 const MemRegion *castRegion(const MemRegion *region, QualType CastToTy);
148 const MemRegion *region) const = 0;
159 typedef SmallVector<const MemRegion *, 8> InvalidatedRegions;
203 virtual bool scanReachableSymbols(Store S, const MemRegion *R,
213 const MemRegion *region, SVal val) = 0;
219 const MemRegion* Binding;
226 bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R,
[all …]
DDynamicTypeMap.h27 typedef llvm::ImmutableMap<const MemRegion *, DynamicTypeInfo>
40 const MemRegion *Reg);
43 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *Reg,
48 const MemRegion *Reg, QualType NewTy,
/external/llvm-project/clang/lib/StaticAnalyzer/Core/
DMemRegion.cpp122 MemRegion::~MemRegion() = default;
132 bool SubRegion::isSubRegionOf(const MemRegion* R) const { in isSubRegionOf()
133 const MemRegion* r = this; in isSubRegionOf()
148 const MemRegion *superRegion = r->getSuperRegion(); in getMemRegionManager()
226 const MemRegion *superRegion) { in ProfileRegion()
234 const MemRegion *superRegion) { in ProfileRegion()
242 const MemRegion *superRegion) { in ProfileRegion()
259 const MemRegion* superRegion) { in ProfileRegion()
267 const MemRegion *sRegion) { in ProfileRegion()
283 const MemRegion* superRegion) { in ProfileRegion()
[all …]
DStore.cpp74 const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy) { in castRegion()
113 case MemRegion::CXXThisRegionKind: in castRegion()
114 case MemRegion::CodeSpaceRegionKind: in castRegion()
115 case MemRegion::StackLocalsSpaceRegionKind: in castRegion()
116 case MemRegion::StackArgumentsSpaceRegionKind: in castRegion()
117 case MemRegion::HeapSpaceRegionKind: in castRegion()
118 case MemRegion::UnknownSpaceRegionKind: in castRegion()
119 case MemRegion::StaticGlobalSpaceRegionKind: in castRegion()
120 case MemRegion::GlobalInternalSpaceRegionKind: in castRegion()
121 case MemRegion::GlobalSystemSpaceRegionKind: in castRegion()
[all …]
DRegionStore.cpp50 llvm::PointerIntPair<const MemRegion *, 2> P;
62 explicit BindingKey(const MemRegion *r, uint64_t offset, Kind k) in BindingKey()
75 const MemRegion *getRegion() const { return P.getPointer(); } in getRegion()
86 const MemRegion *getBaseRegion() const { in getBaseRegion()
97 static BindingKey Make(const MemRegion *R, Kind k);
116 BindingKey BindingKey::Make(const MemRegion *R, Kind k) { in Make()
151 typedef llvm::ImmutableMap<const MemRegion *, ClusterBindings>
155 class RegionBindingsRef : public llvm::ImmutableMapRef<const MemRegion *,
171 typedef llvm::ImmutableMapRef<const MemRegion *, ClusterBindings>
178 : llvm::ImmutableMapRef<const MemRegion *, ClusterBindings>(T, F), in RegionBindingsRef()
[all …]
/external/clang/lib/StaticAnalyzer/Core/
DStore.cpp45 const MemRegion *StoreManager::MakeElementRegion(const MemRegion *Base, in MakeElementRegion()
51 StoreRef StoreManager::BindDefault(Store store, const MemRegion *R, SVal V) { in BindDefault()
55 const ElementRegion *StoreManager::GetElementZeroRegion(const MemRegion *R, in GetElementZeroRegion()
62 const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy) { in castRegion()
102 case MemRegion::CXXThisRegionKind: in castRegion()
103 case MemRegion::CodeSpaceRegionKind: in castRegion()
104 case MemRegion::StackLocalsSpaceRegionKind: in castRegion()
105 case MemRegion::StackArgumentsSpaceRegionKind: in castRegion()
106 case MemRegion::HeapSpaceRegionKind: in castRegion()
107 case MemRegion::UnknownSpaceRegionKind: in castRegion()
[all …]
DMemRegion.cpp58 const MemRegion *superRegion) { in getSubRegion()
96 const MemRegion *superRegion) { in getSubRegion()
114 const MemRegion *superRegion) { in getSubRegion()
134 MemRegion::~MemRegion() {} in ~MemRegion()
145 bool SubRegion::isSubRegionOf(const MemRegion* R) const { in isSubRegionOf()
146 const MemRegion* r = getSuperRegion(); in isSubRegionOf()
161 const MemRegion *superRegion = r->getSuperRegion(); in getMemRegionManager()
225 ObjCIvarRegion::ObjCIvarRegion(const ObjCIvarDecl *ivd, const MemRegion* sReg) in ObjCIvarRegion()
260 const MemRegion* superRegion) { in ProfileRegion()
268 const MemRegion* superRegion) { in ProfileRegion()
[all …]
DRegionStore.cpp49 llvm::PointerIntPair<const MemRegion *, 2> P;
61 explicit BindingKey(const MemRegion *r, uint64_t offset, Kind k) in BindingKey()
72 const MemRegion *getRegion() const { return P.getPointer(); } in getRegion()
83 const MemRegion *getBaseRegion() const { in getBaseRegion()
94 static BindingKey Make(const MemRegion *R, Kind k);
113 BindingKey BindingKey::Make(const MemRegion *R, Kind k) { in Make()
148 typedef llvm::ImmutableMap<const MemRegion *, ClusterBindings>
152 class RegionBindingsRef : public llvm::ImmutableMapRef<const MemRegion *,
157 typedef llvm::ImmutableMapRef<const MemRegion *, ClusterBindings>
163 : llvm::ImmutableMapRef<const MemRegion *, ClusterBindings>(T, F), in RegionBindingsRef()
[all …]
/external/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
DMemRegion.h54 class MemRegion; variable
64 const MemRegion *R = nullptr;
75 RegionOffset(const MemRegion *r, int64_t off) : R(r), Offset(off) {} in RegionOffset()
77 const MemRegion *getRegion() const { return R; } in getRegion()
94 class MemRegion : public llvm::FoldingSetNode {
107 MemRegion(Kind k) : kind(k) {} in MemRegion() function
108 virtual ~MemRegion();
119 const MemRegion *getBaseRegion() const;
123 const MemRegion *getMostDerivedObjectRegion() const;
127 virtual bool isSubRegionOf(const MemRegion *R) const;
[all …]
DStore.h86 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 const MemRegion *castRegion(const MemRegion *region, QualType CastToTy);
190 const MemRegion *region) const = 0;
201 using InvalidatedRegions = SmallVector<const MemRegion *, 8>;
245 virtual bool scanReachableSymbols(Store S, const MemRegion *R,
257 const MemRegion *region, SVal val) = 0;
262 const MemRegion* Binding = nullptr;
270 bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R,
[all …]
DDynamicType.h33 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,
/external/clang/lib/StaticAnalyzer/Checkers/
DPointerArithChecker.cpp52 const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic,
54 const MemRegion *getPointedRegion(const MemRegion *Region,
76 REGISTER_MAP_WITH_PROGRAMSTATE(RegionState, const MemRegion *, AllocKind) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
106 const MemRegion *
107 PointerArithChecker::getPointedRegion(const MemRegion *Region, in getPointedRegion()
119 const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region, in getArrayRegion()
124 while (Region->getKind() == MemRegion::Kind::CXXBaseObjectRegionKind) { in getArrayRegion()
128 if (Region->getKind() == MemRegion::Kind::ElementRegionKind) { in getArrayRegion()
142 if (Region->getKind() == MemRegion::Kind::SymbolicRegionKind) in getArrayRegion()
158 const MemRegion *Region = in reportPointerArithMisuse()
[all …]
DStackAddrEscapeChecker.cpp38 void EmitStackError(CheckerContext &C, const MemRegion *R,
40 static SourceRange genName(raw_ostream &os, const MemRegion *R,
45 SourceRange StackAddrEscapeChecker::genName(raw_ostream &os, const MemRegion *R, in genName()
95 void StackAddrEscapeChecker::EmitStackError(CheckerContext &C, const MemRegion *R, in EmitStackError()
129 const MemRegion *R = V.getAsRegion(); in checkPreStmt()
181 SmallVector<std::pair<const MemRegion*, const MemRegion*>, 10> V; in checkEndFunction()
189 const MemRegion *region, SVal val) override { in checkEndFunction()
194 const MemRegion *vR = val.getAsRegion(); in checkEndFunction()
/external/llvm-project/clang/lib/StaticAnalyzer/Checkers/
DMoveChecker.cpp59 ArrayRef<const MemRegion *> RequestedRegions,
60 ArrayRef<const MemRegion *> InvalidatedRegions,
148 ObjectKind classifyObject(const MemRegion *MR, const CXXRecordDecl *RD) const;
152 void explainObject(llvm::raw_ostream &OS, const MemRegion *MR,
159 MovedBugVisitor(const MoveChecker &Chk, const MemRegion *R, in MovedBugVisitor()
180 const MemRegion *Region;
211 void modelUse(ProgramStateRef State, const MemRegion *Region,
217 ExplodedNode *reportBug(const MemRegion *Region, const CXXRecordDecl *RD,
224 const MemRegion *Region,
229 REGISTER_MAP_WITH_PROGRAMSTATE(TrackedRegionMap, const MemRegion *, RegionState)
[all …]
DStackAddrEscapeChecker.cpp57 void EmitStackError(CheckerContext &C, const MemRegion *R,
60 static SourceRange genName(raw_ostream &os, const MemRegion *R,
62 static SmallVector<const MemRegion *, 4>
64 static bool isArcManagedBlock(const MemRegion *R, CheckerContext &C);
65 static bool isNotInCurrentFrame(const MemRegion *R, CheckerContext &C);
69 SourceRange StackAddrEscapeChecker::genName(raw_ostream &os, const MemRegion *R, in genName()
113 bool StackAddrEscapeChecker::isArcManagedBlock(const MemRegion *R, in isArcManagedBlock()
120 bool StackAddrEscapeChecker::isNotInCurrentFrame(const MemRegion *R, in isNotInCurrentFrame()
137 SmallVector<const MemRegion *, 4>
140 SmallVector<const MemRegion *, 4> Regions; in getCapturedStackRegions()
[all …]
DPointerArithChecker.cpp50 const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic,
52 const MemRegion *getPointedRegion(const MemRegion *Region,
74 REGISTER_MAP_WITH_PROGRAMSTATE(RegionState, const MemRegion *, AllocKind) in REGISTER_MAP_WITH_PROGRAMSTATE() argument
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()
190 Region->getKind() == MemRegion::Kind::SymbolicRegionKind) in reportPointerArithMisuse()
229 const MemRegion *Region = SV.getAsRegion(); in checkPostStmt()
[all …]
DSmartPtrModeling.cpp53 ArrayRef<const MemRegion *> ExplicitRegions,
54 ArrayRef<const MemRegion *> Regions,
67 const MemRegion *ThisRegion) const;
68 bool updateMovedSmartPointers(CheckerContext &C, const MemRegion *ThisRegion,
69 const MemRegion *OtherSmartPtrRegion) const;
82 REGISTER_MAP_WITH_PROGRAMSTATE(TrackedRegionMap, const MemRegion *, SVal)
104 bool isNullSmartPtr(const ProgramStateRef State, const MemRegion *ThisRegion) { in isNullSmartPtr()
117 const MemRegion *Region) { in removeTrackedSubregions()
128 const MemRegion *Region, in updateSwappedRegion()
162 const MemRegion *Region) { in checkAndPrettyPrintRegion()
[all …]
DValistChecker.cpp24 REGISTER_SET_WITH_PROGRAMSTATE(InitializedVALists, const MemRegion *)
27 typedef SmallVector<const MemRegion *, 2> RegionVector;
56 const MemRegion *getVAListAsRegion(SVal SV, const Expr *VAExpr,
59 const MemRegion *Reg) const;
61 void reportUninitializedAccess(const MemRegion *VAList, StringRef Msg,
73 ValistBugVisitor(const MemRegion *Reg, bool IsLeak = false) in ValistBugVisitor()
96 const MemRegion *Reg;
140 const MemRegion *VAList = in checkPreCall()
163 const MemRegion *ValistChecker::getVAListAsRegion(SVal SV, const Expr *E, in getVAListAsRegion()
166 const MemRegion *Reg = SV.getAsRegion(); in getVAListAsRegion()
[all …]
DIterator.h30 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()
121 CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, IteratorPosition);
123 CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, ContainerData);
167 const MemRegion *Cont);
173 const MemRegion *Cont, const Stmt* S,
DContainerModeling.cpp54 const MemRegion *ContReg,
114 bool hasSubscriptOperator(ProgramStateRef State, const MemRegion *Reg);
115 bool frontModifiable(ProgramStateRef State, const MemRegion *Reg);
116 bool backModifiable(ProgramStateRef State, const MemRegion *Reg);
117 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont);
118 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont);
120 const MemRegion *Cont, const Expr *E,
123 ProgramStateRef createContainerEnd(ProgramStateRef State, const MemRegion *Cont,
127 ProgramStateRef setContainerData(ProgramStateRef State, const MemRegion *Cont,
130 const MemRegion *Cont);
[all …]
/external/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
DMPIChecker.cpp30 const MemRegion *const MR = in checkDoubleNonblocking()
60 const MemRegion *const MR = topRegionUsedByWait(PreCallEvent); in checkUnmatchedWaits()
69 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()
153 const MemRegion *SuperRegion{nullptr}; in allRegionsUsedByWait()
176 ReqRegions.push_back(ER->getAs<MemRegion>()); in allRegionsUsedByWait()
DMPIBugReporter.h45 const MemRegion *const RequestRegion,
58 const MemRegion *const RequestRegion,
69 const MemRegion *const RequestRegion,
85 RequestNodeVisitor(const MemRegion *const MemoryRegion, in RequestNodeVisitor()
101 const MemRegion *const RequestRegion;
/external/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
DMPIChecker.cpp30 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()
DMPIBugReporter.h44 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;

12345678