Lines Matching refs:Region
50 const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic,
52 const MemRegion *getPointedRegion(const MemRegion *Region,
105 PointerArithChecker::getPointedRegion(const MemRegion *Region, in getPointedRegion() argument
107 assert(Region); in getPointedRegion()
109 SVal S = State->getSVal(Region); in getPointedRegion()
117 const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region, in getArrayRegion() argument
121 assert(Region); in getArrayRegion()
122 while (const auto *BaseRegion = dyn_cast<CXXBaseObjectRegion>(Region)) { in getArrayRegion()
123 Region = BaseRegion->getSuperRegion(); in getArrayRegion()
126 if (const auto *ElemRegion = dyn_cast<ElementRegion>(Region)) { in getArrayRegion()
127 Region = ElemRegion->getSuperRegion(); in getArrayRegion()
131 if (const AllocKind *Kind = State->get<RegionState>(Region)) { in getArrayRegion()
134 return Region; in getArrayRegion()
140 if (isa<SymbolicRegion>(Region)) in getArrayRegion()
141 return Region; in getArrayRegion()
156 const MemRegion *Region = C.getSVal(E).getAsRegion(); in reportPointerArithMisuse() local
157 if (!Region) in reportPointerArithMisuse()
160 Region = getPointedRegion(Region, C); in reportPointerArithMisuse()
161 if (!Region) in reportPointerArithMisuse()
167 getArrayRegion(Region, IsPolymorphic, Kind, C)) { in reportPointerArithMisuse()
190 Region->getKind() == MemRegion::Kind::SymbolicRegionKind) in reportPointerArithMisuse()
202 R->markInteresting(Region); in reportPointerArithMisuse()
229 const MemRegion *Region = SV.getAsRegion(); in checkPostStmt() local
230 if (!Region) in checkPostStmt()
236 State = State->set<RegionState>(Region, AllocKind::Array); in checkPostStmt()
250 const MemRegion *Region = AllocedVal.getAsRegion(); in checkPostStmt() local
251 if (!Region) in checkPostStmt()
253 State = State->set<RegionState>(Region, Kind); in checkPostStmt()
266 const MemRegion *Region = CastedVal.getAsRegion(); in checkPostStmt() local
267 if (!Region) in checkPostStmt()
271 State = State->set<RegionState>(Region, AllocKind::Reinterpreted); in checkPostStmt()
284 const MemRegion *Region = CastedVal.getAsRegion(); in checkPreStmt() local
285 if (!Region) in checkPreStmt()
288 if (const AllocKind *Kind = State->get<RegionState>(Region)) { in checkPreStmt()
292 State = State->set<RegionState>(Region, AllocKind::Array); in checkPreStmt()