reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  199 class MemSpaceRegion : public MemRegion {
  436 class SubRegion : public MemRegion {

Declarations

tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
   61 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
   39 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
   48 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
   80 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
   54 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
   47 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
   44 class MemRegion;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
   25 class MemRegion;

References

include/llvm/ADT/FoldingSet.h
  221   static void Profile(const T &X, FoldingSetNodeID &ID) {
  224   static void Profile(T &X, FoldingSetNodeID &ID) {
  232   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  240   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
  250   : public DefaultFoldingSetTrait<T> {};
  369   FoldingSetTrait<T>::Profile(X, TempID);
  375   FoldingSetTrait<T>::Profile(X, TempID);
  410   using iterator = FoldingSetIterator<T>;
  415   using const_iterator = FoldingSetIterator<const T>;
  420   using bucket_iterator = FoldingSetBucketIterator<T>;
  432   bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
  437   T *GetOrInsertNode(T *N) {
  437   T *GetOrInsertNode(T *N) {
  444   T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
  451   void InsertNode(T *N, void *InsertPos) {
  457   void InsertNode(T *N) {
  473 template <class T> class FoldingSet final : public FoldingSetImpl<T> {
  474   using Super = FoldingSetImpl<T>;
  480     T *TN = static_cast<T *>(N);
  481     FoldingSetTrait<T>::Profile(*TN, ID);
  488     T *TN = static_cast<T *>(N);
  489     return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
  495     T *TN = static_cast<T *>(N);
  496     return FoldingSetTrait<T>::ComputeHash(*TN, TempID);
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
   55     const MemRegion *R = V.getRegion();
   91     const MemRegion *R = S->getRegion();
  234   std::string VisitMemRegion(const MemRegion *R) {
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  318   llvm::DenseMap<const MemRegion *, bugreporter::TrackingKind>
  438       const MemRegion *R,
  449   bool isInteresting(const MemRegion *R) const;
  457   getInterestingnessKind(const MemRegion *R) const;
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
  126   const MemRegion *R;
  149   FindLastStoreBRVisitor(KnownSVal V, const MemRegion *R,
  325   const MemRegion *R;
  328   UndefOrNullArgVisitor(const MemRegion *InR) : R(InR) {}
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
  338                       ArrayRef<const MemRegion *> Explicits,
  339                       ArrayRef<const MemRegion *> Regions,
tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
  364                               ArrayRef<const MemRegion *> ExplicitRegions,
  365                               ArrayRef<const MemRegion *> Regions,
  480                                  ArrayRef<const MemRegion *> ExplicitRegions,
  481                                  ArrayRef<const MemRegion *> Regions,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  110   const MemRegion *R = nullptr;
  115   RuntimeDefinition(const Decl *InD, const MemRegion *InR): D(InD), R(InR) {}
  126   const MemRegion *getDispatchRegion() { return R; }
  772   using DtorDataTy = llvm::PointerIntPair<const MemRegion *, 1, bool>;
  782                     const MemRegion *Target, bool IsBaseDestructor,
  828   CXXConstructorCall(const CXXConstructExpr *CE, const MemRegion *Target,
 1223   getCXXConstructorCall(const CXXConstructExpr *E, const MemRegion *Target,
 1230                        const MemRegion *Target, bool IsBase,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
  136   static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
   33 DynamicTypeInfo getDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR);
   37                                              const MemRegion *MR);
   41                                           const MemRegion *MR,
   46 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR,
   50 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR,
   55                                           const MemRegion *MR,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  374                        ArrayRef<const MemRegion *> ExplicitRegions,
  375                        ArrayRef<const MemRegion *> Regions,
  530   void VisitCXXDestructor(QualType ObjectType, const MemRegion *Dest,
  626                            ArrayRef<const MemRegion *> ExplicitRegions,
  753   void BifurcateCall(const MemRegion *BifurReg,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
   64   const MemRegion *R = nullptr;
   75   RegionOffset(const MemRegion *r, int64_t off) : R(r), Offset(off) {}
   77   const MemRegion *getRegion() const { return R; }
  119   const MemRegion *getBaseRegion() const;
  123   const MemRegion *getMostDerivedObjectRegion() const;
  127   virtual bool isSubRegionOf(const MemRegion *R) const;
  129   const MemRegion *StripCasts(bool StripBaseAndDerivedCasts = true) const;
  199 class MemSpaceRegion : public MemRegion {
  215   static bool classof(const MemRegion *R) {
  232   static bool classof(const MemRegion *R) {
  246   static bool classof(const MemRegion *R) {
  274   static bool classof(const MemRegion *R) {
  295   static bool classof(const MemRegion *R) {
  313   static bool classof(const MemRegion *R) {
  332   static bool classof(const MemRegion *R) {
  349   static bool classof(const MemRegion *R) {
  363   static bool classof(const MemRegion *R) {
  377   static bool classof(const MemRegion *R) {
  399   static bool classof(const MemRegion *R) {
  414   static bool classof(const MemRegion *R) {
  429   static bool classof(const MemRegion *R) {
  436 class SubRegion : public MemRegion {
  440   const MemRegion* superRegion;
  442   SubRegion(const MemRegion *sReg, Kind k) : MemRegion(k), superRegion(sReg) {
  448   const MemRegion* getSuperRegion() const {
  459   bool isSubRegionOf(const MemRegion* R) const override;
  461   static bool classof(const MemRegion* R) {
  487                             unsigned Cnt, const MemRegion *superRegion);
  500   static bool classof(const MemRegion* R) {
  510   TypedRegion(const MemRegion *sReg, Kind k) : SubRegion(sReg, k) {
  523   static bool classof(const MemRegion* R) {
  534   TypedValueRegion(const MemRegion* sReg, Kind k) : TypedRegion(sReg, k) {
  557   static bool classof(const MemRegion* R) {
  574   static bool classof(const MemRegion* R) {
  592                             const MemRegion*);
  617   static bool classof(const MemRegion* R) {
  645                             const MemRegion*);
  662   static bool classof(const MemRegion* R) {
  695                             const MemRegion *);
  705     const MemRegion * const *R;
  706     const MemRegion * const *OriginalR;
  709     explicit referenced_vars_iterator(const MemRegion * const *r,
  710                                       const MemRegion * const *originalR)
  749   static bool classof(const MemRegion* R) {
  791                             const MemRegion* superRegion);
  795   static bool classof(const MemRegion* R) {
  813                             const MemRegion *superRegion);
  830   static bool classof(const MemRegion* R) {
  849                             const MemRegion *superRegion);
  864   static bool classof(const MemRegion* R) {
  887                             const MemRegion* superRegion);
  900   static bool classof(const MemRegion* R) {
  909   DeclRegion(const ValueDecl *d, const MemRegion *sReg, Kind k)
  916                       const MemRegion* superRegion, Kind k);
  922   static bool classof(const MemRegion* R) {
  932   VarRegion(const VarDecl *vd, const MemRegion *sReg)
  943                             const MemRegion *superRegion) {
  965   static bool classof(const MemRegion* R) {
  986                             const MemRegion *sReg);
  997   static bool classof(const MemRegion* R) {
 1012                             const MemRegion* superRegion) {
 1033   static bool classof(const MemRegion* R) {
 1044                             const MemRegion* superRegion);
 1055   static bool classof(const MemRegion* R) {
 1067   const MemRegion *Region;
 1070   RegionRawOffset(const MemRegion* reg, CharUnits offset = CharUnits::Zero())
 1076   const MemRegion *getRegion() const { return Region; }
 1100                             SVal Idx, const MemRegion* superRegion);
 1116   static bool classof(const MemRegion* R) {
 1135                             Expr const *E, const MemRegion *sReg);
 1146   static bool classof(const MemRegion* R) {
 1165                             bool IsVirtual, const MemRegion *SReg);
 1181   static bool classof(const MemRegion *region) {
 1207                             const MemRegion *SReg);
 1222   static bool classof(const MemRegion *region) {
 1228 const RegionTy* MemRegion::getAs() const {
 1229   if (const auto *RT = dyn_cast<RegionTy>(this))
 1229   if (const auto *RT = dyn_cast<RegionTy>(this))
 1247   llvm::FoldingSet<MemRegion> Regions;
 1285       MemRegion::Kind K = MemRegion::GlobalInternalSpaceRegionKind,
 1285       MemRegion::Kind K = MemRegion::GlobalInternalSpaceRegionKind,
 1329   const VarRegion *getVarRegion(const VarDecl *D, const MemRegion *superR);
 1448   llvm::DenseMap<const MemRegion *, StorageTypeForKinds> MRTraitsMap;
 1452       llvm::DenseMap<const MemRegion *, StorageTypeForKinds>::const_iterator;
 1477   void setTrait(const MemRegion *MR, InvalidationKinds IK);
 1479   bool hasTrait(const MemRegion *MR, InvalidationKinds IK) const;
 1485 inline raw_ostream &operator<<(raw_ostream &os, const MemRegion *R) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  283   invalidateRegions(ArrayRef<const MemRegion *> Regions, const Expr *E,
  340   SVal getSVal(const MemRegion* R, QualType T = QualType()) const;
  346   SVal getSValAsScalarOrLoc(const MemRegion *R) const;
  348   using region_iterator = const MemRegion **;
  780 inline SVal ProgramState::getSVal(const MemRegion* R, QualType T) const {
  870   bool scan(const MemRegion *R);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  231                                    const MemRegion *region,
  357   Loc makeLoc(const MemRegion* region) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
  111   RetTy Visit(const MemRegion *R) {
  129   RetTy VisitMemRegion(const MemRegion *R) { return RetTy(); }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  191   const MemRegion *getAsRegion() const;
  600   explicit MemRegionVal(const MemRegion* r) : Loc(MemRegionValKind, r) {
  605   const MemRegion *getRegion() const {
  610   const MemRegion* stripCasts(bool StripBaseCasts = true) const;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/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;
  154                                                  const MemRegion *region,
  192   const MemRegion *castRegion(const MemRegion *region, QualType CastToTy);
  192   const MemRegion *castRegion(const MemRegion *region, QualType CastToTy);
  198                                   const MemRegion *region) const = 0;
  209   using InvalidatedRegions = SmallVector<const MemRegion *, 8>;
  253   virtual bool scanReachableSymbols(Store S, const MemRegion *R,
  265                                const MemRegion *region, SVal val) = 0;
  270     const MemRegion* Binding = nullptr;
  278     bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R,
  280     const MemRegion *getRegion() { return Binding; }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
  138                        ArrayRef<const MemRegion *> ExplicitRegions,
  139                        ArrayRef<const MemRegion *> Regions,
  146                       const MemRegion* MR,
  157                            ArrayRef<const MemRegion *> ExplicitRegions,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
  101   virtual const MemRegion *getOriginRegion() const { return nullptr; }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
   63   const MemRegion *getOriginRegion() const override { return getRegion(); }
  145   const MemRegion *getOriginRegion() const override { return getRegion(); }
  202   const MemRegion* R;
  210   SymbolMetadata(SymbolID sym, const MemRegion* r, const Stmt *s, QualType t,
  221   const MemRegion *getRegion() const { return R; }
  231   static void Profile(llvm::FoldingSetNodeID& profile, const MemRegion *R,
  508   const SymbolMetadata *getMetadataSymbol(const MemRegion *R, const Stmt *S,
  556   using RegionSetTy = llvm::DenseSet<const MemRegion *>;
  567   llvm::DenseMap<const MemRegion *, unsigned> includedRegionCache;
  584   bool isLiveRegion(const MemRegion *region);
  617   void markLive(const MemRegion *region);
  618   void markElementIndicesLive(const MemRegion *region);
  643   virtual bool VisitMemRegion(const MemRegion *) { return true; }
tools/clang/lib/StaticAnalyzer/Checkers/AllocationState.h
   31 const MemRegion *getContainerObjRegion(ProgramStateRef State, SymbolRef Sym);
tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
  161                      ArrayRef<const MemRegion *> ExplicitRegions,
  162                      ArrayRef<const MemRegion *> Regions,
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
   38   const MemRegion *R = l.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
   71                                const MemRegion *region) {
   73   if (SR->getKind() == MemRegion::UnknownSpaceRegionKind)
  311   const MemRegion *region = location.getAsRegion();
  324       case MemRegion::ElementRegionKind: {
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
   69                        ArrayRef<const MemRegion *> ExplicitRegions,
   70                        ArrayRef<const MemRegion *> Regions,
  166                                               const MemRegion *MR,
  171                                         const MemRegion *MR,
  191                               const MemRegion *MR);
  319   const MemRegion *R = l.getAsRegion();
  714                                                 const MemRegion *MR,
  721   case MemRegion::StringRegionKind:
  726   case MemRegion::SymbolicRegionKind:
  727   case MemRegion::AllocaRegionKind:
  728   case MemRegion::VarRegionKind:
  729   case MemRegion::FieldRegionKind:
  730   case MemRegion::ObjCIvarRegionKind:
  734   case MemRegion::ElementRegionKind:
  756                                                const MemRegion *MR,
  795   const MemRegion *MR = Buf.getAsRegion();
  823   case MemRegion::StringRegionKind: {
  831   case MemRegion::SymbolicRegionKind:
  832   case MemRegion::AllocaRegionKind:
  833   case MemRegion::VarRegionKind:
  834   case MemRegion::FieldRegionKind:
  835   case MemRegion::ObjCIvarRegionKind:
  837   case MemRegion::CompoundLiteralRegionKind:
  840   case MemRegion::ElementRegionKind:
  870   const MemRegion *bufRegion = val.getAsRegion();
  925   const MemRegion *R = BufEnd.getAsRegion();
  965     const MemRegion *R = MR->getRegion()->StripCasts();
  987       const MemRegion::Kind& K = R->getKind();
  988       if (K == MemRegion::FieldRegionKind)
 1010                                      const MemRegion *MR) {
 1014   case MemRegion::FunctionCodeRegionKind: {
 1022   case MemRegion::BlockCodeRegionKind:
 1025   case MemRegion::BlockDataRegionKind:
 1028   case MemRegion::CXXThisRegionKind:
 1029   case MemRegion::CXXTempObjectRegionKind:
 1032   case MemRegion::VarRegionKind:
 1035   case MemRegion::FieldRegionKind:
 1038   case MemRegion::ObjCIvarRegionKind:
 1051   const MemRegion *MR = MemVal.getAsRegion();
 1060   const MemRegion *BR = Offset.getRegion();
 2295     const MemRegion *MR = VarLoc.getAsRegion();
 2313     ArrayRef<const MemRegion *> ExplicitRegions,
 2314     ArrayRef<const MemRegion *> Regions,
 2321   llvm::SmallPtrSet<const MemRegion *, 8> Invalidated;
 2322   llvm::SmallPtrSet<const MemRegion *, 32> SuperRegions;
 2325   for (ArrayRef<const MemRegion *>::iterator
 2327     const MemRegion *MR = *I;
 2342     const MemRegion *MR = I.getKey();
 2351     const MemRegion *Super = MR;
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  172   if (const MemRegion *SValMemRegion = V.getAsRegion()) {
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
  103   const MemRegion *R = C.getSVal(E).getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
  184   const MemRegion *MR = DV.getAsRegion();
  230   const MemRegion *MR = DV.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  494   const MemRegion *SelfRegion = SelfVal.castAs<loc::MemRegionVal>().getRegion();
tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
  275                        ArrayRef<const MemRegion *> ExplicitRegions,
  276                        ArrayRef<const MemRegion *> Regions,
tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
  101   if (const MemRegion *R = ArgVal.getAsRegion()) {
tools/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
   64   const MemRegion *MR = C.getSVal(DeletedObj).getAsRegion();
  127   const MemRegion *M = N->getSVal(CastE).getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
  252   const MemRegion *MR = L.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
   42     DynamicTypeBugVisitor(const MemRegion *Reg) : Reg(Reg) {}
   56     const MemRegion *Reg;
   60                        const MemRegion *Reg, const Stmt *ReportedNode,
   70                                          const MemRegion *Reg,
  160   const MemRegion *Region = C.getSVal(CE).getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  131 static void recordFixedType(const MemRegion *Region, const CXXMethodDecl *MD,
  162       if (const MemRegion *Target = Ctor->getCXXThisVal().getAsRegion())
  175     const MemRegion *Target = Dtor->getCXXThisVal().getAsRegion();
  194     const MemRegion *RetReg = Call.getReturnValue().getAsRegion();
  224         const MemRegion *RecReg = Msg->getReceiverSVal().getAsRegion();
  249       if (const MemRegion *Target = Ctor->getCXXThisVal().getAsRegion()) {
  278   const MemRegion *ToR = C.getSVal(CE).getAsRegion();
  298   const MemRegion *MR = C.getSVal(NewE).getAsRegion();
  346   const MemRegion *ToR = C.getSVal(CastE).getAsRegion();
  872   const MemRegion *RetRegion = M.getReturnValue().getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  667   const MemRegion *MemReg = Val.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
   96                               const MemRegion *ObjRegion,
  135                                                  const MemRegion *MR,
  267 const MemRegion *getContainerObjRegion(ProgramStateRef State, SymbolRef Sym) {
  291   const MemRegion *ObjRegion =
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
   89   const MemRegion *Cont;
   97   IteratorPosition(const MemRegion *C, bool V, SymbolRef Of)
  101   const MemRegion *getContainer() const { return Cont; }
  109   static IteratorPosition getPosition(const MemRegion *C, SymbolRef Of) {
  117   IteratorPosition reAssign(const MemRegion *NewCont) const {
  202                          const MemRegion *Cont) const;
  223                    const MemRegion *Cont) const;
  235                            const MemRegion *Reg, CheckerContext &C,
  297 bool hasSubscriptOperator(ProgramStateRef State, const MemRegion *Reg);
  298 bool frontModifiable(ProgramStateRef State, const MemRegion *Reg);
  299 bool backModifiable(ProgramStateRef State, const MemRegion *Reg);
  300 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont);
  301 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont);
  303                                      const MemRegion *Cont, const Expr *E,
  306 ProgramStateRef createContainerEnd(ProgramStateRef State, const MemRegion *Cont,
  318                                                const MemRegion *Cont);
  321                                      const MemRegion *Cont, SymbolRef Offset,
  332                                              const MemRegion *Cont,
  333                                              const MemRegion *NewCont);
  335                                                    const MemRegion *Cont,
  336                                                    const MemRegion *NewCont,
  345                                       const MemRegion *Cont);
  346 ProgramStateRef setContainerData(ProgramStateRef State, const MemRegion *Cont,
  348 bool hasLiveIterators(ProgramStateRef State, const MemRegion *Cont);
  350                                    const MemRegion *Reg);
  455     const auto *ContReg = InstCall->getCXXThisVal().getAsRegion();
  862   const MemRegion *Cont = nullptr;
 1065                                   const MemRegion *Cont) const {
 1079   const auto *IterCont = Pos->getContainer();
 1108   const auto *IterCont1 = Pos1->getContainer();
 1123   const auto *IterCont2 = Pos2->getContainer();
 1140   const auto *ContReg = Cont.getAsRegion();
 1162   const auto *ContReg = Cont.getAsRegion();
 1184                                         const MemRegion *Cont) const {
 1199   const auto *ContReg = Cont.getAsRegion();
 1216     const auto *OldContReg = OldCont.getAsRegion();
 1274   const auto *ContReg = Cont.getAsRegion();
 1301   const auto *ContReg = Cont.getAsRegion();
 1338   const auto *ContReg = Cont.getAsRegion();
 1376   const auto *ContReg = Cont.getAsRegion();
 1409   const auto *ContReg = Cont.getAsRegion();
 1449   const auto *Cont = Pos->getContainer();
 1475   const auto *Cont = Pos->getContainer();
 1506   const auto *Cont = Pos1->getContainer();
 1611                                           const SVal &Val, const MemRegion *Reg,
 1640                                       const MemRegion *Reg);
 1866 bool hasSubscriptOperator(ProgramStateRef State, const MemRegion *Reg) {
 1882 bool frontModifiable(ProgramStateRef State, const MemRegion *Reg) {
 1897 bool backModifiable(ProgramStateRef State, const MemRegion *Reg) {
 1913                                       const MemRegion *Reg) {
 1926 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont) {
 1934 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont) {
 1943                                      const MemRegion *Cont, const Expr *E,
 1965 ProgramStateRef createContainerEnd(ProgramStateRef State, const MemRegion *Cont,
 1989                                       const MemRegion *Cont) {
 1993 ProgramStateRef setContainerData(ProgramStateRef State, const MemRegion *Cont,
 2068 bool hasLiveIterators(ProgramStateRef State, const MemRegion *Cont) {
 2085                                    const MemRegion *Reg) {
 2170                                                const MemRegion *Cont) {
 2182                                      const MemRegion *Cont, SymbolRef Offset,
 2222                                              const MemRegion *Cont,
 2223                                              const MemRegion *NewCont) {
 2234                                                    const MemRegion *Cont,
 2235                                                    const MemRegion *NewCont,
 2291   const auto *Cont = Pos.getContainer();
 2307   const auto *Cont = Pos.getContainer();
 2323   const auto *Cont = Pos.getContainer();
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  117   const MemRegion *NonLocalizedString;
  121   NonLocalizedStringBRVisitor(const MemRegion *NonLocalizedString)
  673   const MemRegion *mt = S.getAsRegion();
  686   const MemRegion *mt = S.getAsRegion();
  698   const MemRegion *mt = S.getAsRegion();
  709   const MemRegion *mt = S.getAsRegion();
  773   const MemRegion *StringRegion = S.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
  129   while (const MemRegion *MR = Sym->getOriginRegion()) {
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp
   25     const MemRegion *const RequestRegion,
   50     const ento::mpi::Request &Req, const MemRegion *const RequestRegion,
   70     const CallEvent &CE, const clang::ento::MemRegion *const RequestRegion,
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h
   44                                const MemRegion *const RequestRegion,
   55                          const MemRegion *const RequestRegion,
   66                            const MemRegion *const RequestRegion,
   82     RequestNodeVisitor(const MemRegion *const MemoryRegion,
   97     const MemRegion *const RequestRegion;
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
   29   const MemRegion *const MR =
   60   const MemRegion *const MR = topRegionUsedByWait(PreCallEvent);
   69   llvm::SmallVector<const MemRegion *, 2> ReqRegions;
  134 const MemRegion *MPIChecker::topRegionUsedByWait(const CallEvent &CE) const {
  146     llvm::SmallVector<const MemRegion *, 2> &ReqRegions,
  147     const MemRegion *const MR, const CallEvent &CE, CheckerContext &Ctx) const {
  175       ReqRegions.push_back(ER->getAs<MemRegion>());
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.h
   85       llvm::SmallVector<const clang::ento::MemRegion *, 2> &ReqRegions,
   86       const clang::ento::MemRegion *const MR, const clang::ento::CallEvent &CE,
   93   const clang::ento::MemRegion *
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPITypes.h
   49 typedef llvm::ImmutableMap<const clang::ento::MemRegion *,
tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
  199 static bool isBadDeallocationArgument(const MemRegion *Arg) {
tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
   35   static const ObjCIvarRegion *getParentIvarRegion(const MemRegion *R);
   54 MacOSXAPIChecker::getParentIvarRegion(const MemRegion *R) {
   71   const MemRegion *R = C.getSVal(CE->getArg(0)).getAsRegion();
   76   const MemRegion *RB = R->getBaseRegion();
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  354   using LeakInfo = std::pair<const ExplodedNode *, const MemRegion *>;
  632   static bool SummarizeRegion(raw_ostream &os, const MemRegion *MR);
 1777   const MemRegion *R = ArgVal.getAsRegion();
 1972                                     const MemRegion *MR) {
 1974   case MemRegion::FunctionCodeRegionKind: {
 1982   case MemRegion::BlockCodeRegionKind:
 1985   case MemRegion::BlockDataRegionKind:
 2066     const MemRegion *MR = ArgVal.getAsRegion();
 2201   const MemRegion *MR = ArgVal.getAsRegion();
 2374     const MemRegion *MR = ArgVal.getAsRegion();
 2519   const MemRegion *ReferenceRegion = nullptr;
 2529         if (const MemRegion *MR = C.getLocationRegionIfPostStore(N)) {
 2591   const MemRegion *Region = nullptr;
 2752     if (const MemRegion *MR = RetVal.getAsRegion())
 2784   SmallVector<const MemRegion*, 10> Regions;
 3234           const MemRegion *ObjRegion =
tools/clang/lib/StaticAnalyzer/Checkers/Move.h
   24 bool isMovedFrom(ProgramStateRef State, const MemRegion *Region);
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
   58                      ArrayRef<const MemRegion *> RequestedRegions,
   59                      ArrayRef<const MemRegion *> InvalidatedRegions,
  147   ObjectKind classifyObject(const MemRegion *MR, const CXXRecordDecl *RD) const;
  151   void explainObject(llvm::raw_ostream &OS, const MemRegion *MR,
  158     MovedBugVisitor(const MoveChecker &Chk, const MemRegion *R,
  179     const MemRegion *Region;
  210   void modelUse(ProgramStateRef State, const MemRegion *Region,
  216   ExplodedNode *reportBug(const MemRegion *Region, const CXXRecordDecl *RD,
  223                                       const MemRegion *Region,
  234 bool isMovedFrom(ProgramStateRef State, const MemRegion *Region) {
  244                                        const MemRegion *Region) {
  255                                     const MemRegion *Region) {
  263 static const MemRegion *unwrapRValueReferenceIndirection(const MemRegion *MR) {
  263 static const MemRegion *unwrapRValueReferenceIndirection(const MemRegion *MR) {
  267       if (const MemRegion *OriginMR = Sym->getOriginRegion())
  333                                                  const MemRegion *Region,
  349 void MoveChecker::modelUse(ProgramStateRef State, const MemRegion *Region,
  390 ExplodedNode *MoveChecker::reportBug(const MemRegion *Region,
  476   const MemRegion *BaseRegion = ArgRegion->getBaseRegion();
  554 MoveChecker::classifyObject(const MemRegion *MR,
  575 void MoveChecker::explainObject(llvm::raw_ostream &OS, const MemRegion *MR,
  614       const MemRegion *ArgRegion = CC->getArgSVal(0).getAsRegion();
  630   const MemRegion *ThisRegion = IC->getCXXThisVal().getAsRegion();
  665         const MemRegion *ArgRegion = IC->getArgSVal(0).getAsRegion();
  689     const MemRegion *Region = E.first;
  702     ArrayRef<const MemRegion *> RequestedRegions,
  703     ArrayRef<const MemRegion *> InvalidatedRegions,
  711     const MemRegion *ThisRegion = nullptr;
  718     for (const auto *Region : RequestedRegions) {
  729     for (const auto *Region : InvalidatedRegions)
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  190     const MemRegion* R = X->getRegion();
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  132     NullabilityBugVisitor(const MemRegion *M) : Region(M) {}
  146     const MemRegion *Region;
  155                                  ExplodedNode *N, const MemRegion *Region,
  161                  const MemRegion *Region, BugReporter &BR,
  281   const MemRegion *Region = RegionSVal->getRegion();
  434     ErrorKind Error, ExplodedNode *N, const MemRegion *Region,
  478   const MemRegion *Region =
  604   const MemRegion *Region = getTrackRegion(*RetSVal);
  696     const MemRegion *Region = getTrackRegion(*ArgSVal);
  760   const MemRegion *Region = getTrackRegion(Call.getReturnValue());
  802     const MemRegion *SelfRegion = ValueRegionSVal->getRegion();
  829   const MemRegion *ReturnRegion = getTrackRegion(M.getReturnValue());
  952   const MemRegion *Region = getTrackRegion(*RegionSVal);
 1127   const MemRegion *ValueRegion = getTrackRegion(*ValDefOrUnknown);
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
  140   const MemRegion *R = L.getAsRegion();
  146   const MemRegion *PriorSubRegion = nullptr;
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
   50   const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic,
   50   const MemRegion *getArrayRegion(const MemRegion *Region, bool &Polymorphic,
   52   const MemRegion *getPointedRegion(const MemRegion *Region,
   52   const MemRegion *getPointedRegion(const MemRegion *Region,
  104 const MemRegion *
  105 PointerArithChecker::getPointedRegion(const MemRegion *Region,
  117 const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region,
  117 const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region,
  156   const MemRegion *Region = C.getSVal(E).getAsRegion();
  166   if (const MemRegion *ArrayRegion =
  190       Region->getKind() == MemRegion::Kind::SymbolicRegionKind)
  229   const MemRegion *Region = SV.getAsRegion();
  250   const MemRegion *Region = AllocedVal.getAsRegion();
  266   const MemRegion *Region = CastedVal.getAsRegion();
  284   const MemRegion *Region = CastedVal.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
   44   const MemRegion *LR = LV.getAsRegion();
   45   const MemRegion *RR = RV.getAsRegion();
   50   const MemRegion *BaseLR = LR->getBaseRegion();
   51   const MemRegion *BaseRR = RR->getBaseRegion();
tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
   95                                                 const MemRegion *lockR,
  159     ProgramStateRef state, const MemRegion *lockR, const SymbolRef *sym) const {
  220   const MemRegion *lockR = lock.getAsRegion();
  291   const MemRegion *lockR = lock.getAsRegion();
  324     const MemRegion *firstLockR = LS.getHead();
  350   const MemRegion *LockR = Lock.getAsRegion();
  411   const MemRegion *LockR = Lock.getAsRegion();
  473     const MemRegion *lockR = I->first;
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  166   SmallVector<const MemRegion*, 10> Regions;
  488 static bool isSmartPtrField(const MemRegion *MR) {
  505 static bool shouldEscapeRegion(const MemRegion *R) {
 1140   const MemRegion *MR = loc.getAsRegion();
 1185     ArrayRef<const MemRegion *> ExplicitRegions,
 1186     ArrayRef<const MemRegion *> Regions, const LocationContext *LCtx,
 1193   for (const MemRegion *I : ExplicitRegions)
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
  321                      ArrayRef<const MemRegion *> ExplicitRegions,
  322                      ArrayRef<const MemRegion *> Regions,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  177     if (const MemRegion *MR = (*CE)->getArgSVal(Idx).getAsRegion())
  606 static Optional<std::string> describeRegion(const MemRegion *MR) {
  622   const MemRegion *R;
  625                  const MemRegion *InR,
  635   const MemRegion *FirstBinding = nullptr;
  653       const MemRegion *R = FB.getRegion();
  738   const MemRegion* FirstBinding = AllocI.R;
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
   78   const MemRegion* AllocBinding;
tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
   43   const MemRegion *R = V.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
   51   const MemRegion *ThisR =
tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
   56   void EmitStackError(CheckerContext &C, const MemRegion *R,
   59   static SourceRange genName(raw_ostream &os, const MemRegion *R,
   61   static SmallVector<const MemRegion *, 4>
   63   static bool isArcManagedBlock(const MemRegion *R, CheckerContext &C);
   64   static bool isNotInCurrentFrame(const MemRegion *R, CheckerContext &C);
   68 SourceRange StackAddrEscapeChecker::genName(raw_ostream &os, const MemRegion *R,
  112 bool StackAddrEscapeChecker::isArcManagedBlock(const MemRegion *R,
  119 bool StackAddrEscapeChecker::isNotInCurrentFrame(const MemRegion *R,
  136 SmallVector<const MemRegion *, 4>
  139   SmallVector<const MemRegion *, 4> Regions;
  144     const MemRegion *Region = Val.getAsRegion();
  152                                             const MemRegion *R,
  184   for (const MemRegion *Region : getCapturedStackRegions(B, C)) {
  213   for (const MemRegion *Region : getCapturedStackRegions(B, C)) {
  259   const MemRegion *R = V.getAsRegion();
  305     SmallVector<std::pair<const MemRegion *, const MemRegion *>, 10> V;
  305     SmallVector<std::pair<const MemRegion *, const MemRegion *>, 10> V;
  309     bool HandleBinding(StoreManager &SMgr, Store S, const MemRegion *Region,
  314       const MemRegion *VR = Val.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/Taint.cpp
   74   const MemRegion *R = V.getAsRegion();
   78 ProgramStateRef taint::addTaint(ProgramStateRef State, const MemRegion *R,
  129   if (const MemRegion *Reg = V.getAsRegion())
  134 bool taint::isTainted(ProgramStateRef State, const MemRegion *Reg,
tools/clang/lib/StaticAnalyzer/Checkers/Taint.h
   47 addTaint(ProgramStateRef State, const MemRegion *R,
   74 bool isTainted(ProgramStateRef State, const MemRegion *Reg,
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp
   47   const MemRegion *MR = Loc.castAs<loc::MemRegionVal>().getRegion();
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
  319                          const MemRegion *PointeeR = nullptr);
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  219   for (const MemRegion *R : State->get<AnalyzedRegions>()) {
  243                                                 const MemRegion *PointeeR) {
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp
  246   while (const MemRegion *Tmp = State->getSVal(R, DynT).getAsRegion()) {
tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  285   const MemRegion *R = C.getSVal(CE->getArg(0)).getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
   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)
   96     const MemRegion *Reg;
  140       const MemRegion *VAList =
  163 const MemRegion *ValistChecker::getVAListAsRegion(SVal SV, const Expr *E,
  166   const MemRegion *Reg = SV.getAsRegion();
  192   const MemRegion *VAList =
  225                                 const MemRegion *Reg) const {
  248 void ValistChecker::reportUninitializedAccess(const MemRegion *VAList,
  311   const MemRegion *VAList =
  319     const MemRegion *Arg2 =
  358   const MemRegion *VAList =
tools/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
  168   const MemRegion *LhsDeclReg =
  197   const MemRegion *VforkLhs =
  199   const MemRegion *MR = L.getAsRegion();
tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
  113   const MemRegion *Reg = MC->getCXXThisVal().getAsRegion();
  178     const MemRegion *Reg = ThiSVal.getAsRegion();
  192     const MemRegion *Reg = ThiSVal.getAsRegion();
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
 2215 void PathSensitiveBugReport::markInteresting(const MemRegion *R,
 2277 PathSensitiveBugReport::getInterestingnessKind(const MemRegion *R) const {
 2299 bool PathSensitiveBugReport::isInteresting(const MemRegion *R) const {
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  357   using RegionVector = SmallVector<const MemRegion *, 5>;
  420                              const MemRegion *MatchedRegion,
  518     const MemRegion *VR = V.getAsRegion();
  564       const MemRegion *SelfRegion = MC->getReceiverSVal().getAsRegion();
  574     const MemRegion *ThisR = CCall->getCXXThisVal().getAsRegion();
  594     while (const MemRegion *MR = V.getAsRegion()) {
  710                                                const MemRegion *MatchedRegion,
  722   const MemRegion *R = RegionOfInterest;
  731   for (const MemRegion *R : RegionSequence) {
  830         const ExplodedNode *N, const MemRegion *R,
  866       const MemRegion *R = N->getSVal(BO->getLHS()).getAsRegion();
 1097       if (const MemRegion *MR = LValue->getAsRegion()) {
 1245                               const MemRegion *R, SVal V, const DeclStmt *DS) {
 1317                                      const MemRegion *R, SVal V) {
 1383     const MemRegion *FieldReg = (const MemRegion *)PIP->getLocationValue();
 1834 static const MemRegion *getLocationRegionIfReference(const Expr *E,
 1976     const MemRegion *RR = getLocationRegionIfReference(Inner, LVNode);
 1991     const MemRegion *R = (RR && LVIsNull) ? RR :
 2066     const MemRegion *RegionRVal = RVal.getAsRegion();
 2353       if (const MemRegion *R = state->getLValue(cast<VarDecl>(DR->getDecl()),
 2780     const MemRegion *ArgReg = Call->getArgSVal(Idx).getAsRegion();
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  309       if (const MemRegion *MR = getArgSVal(Idx).getAsRegion())
  703     const MemRegion *ThisRegion = ThisVal.getAsRegion();
  735   const MemRegion *R = getCXXThisVal().getAsRegion();
  849   const MemRegion *DataReg = getSVal(Callee).getAsRegion();
  864   if (const MemRegion *R = getBlockRegion())
  953       if (const MemRegion *IvarRegion = IvarLVal.getAsRegion()) {
 1199     const MemRegion *Receiver = nullptr;
tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
  598                                             ArrayRef<const MemRegion *> ExplicitRegions,
  599                                             ArrayRef<const MemRegion *> Regions,
tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
   27   const MemRegion *R =
tools/clang/lib/StaticAnalyzer/Core/DynamicType.cpp
   40 DynamicTypeInfo getDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR) {
   60                                              const MemRegion *MR) {
   65                                           const MemRegion *MR,
   79 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR,
   86 ProgramStateRef setDynamicTypeInfo(ProgramStateRef State, const MemRegion *MR,
   92                                           const MemRegion *MR,
  153     const MemRegion *MR = I->first;
  189     const MemRegion *MR = I->first;
tools/clang/lib/StaticAnalyzer/Core/Environment.cpp
  154   bool VisitMemRegion(const MemRegion *R) override {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  253       const MemRegion *R = state->getRegion(PD, InitLoc);
  279     const MemRegion *R = state->getRegion(SelfD, InitLoc);
  545                                  ArrayRef<const MemRegion *> Explicits,
  546                                  ArrayRef<const MemRegion *> Regions,
  722     if (const MemRegion *MR = I.second.getAsRegion())
  958   const MemRegion *Region = dest.castAs<loc::MemRegionVal>().getRegion();
  961     const MemRegion *ValueRegion = state->getSVal(Region).getAsRegion();
 1008   const MemRegion *ArgR = ArgVal.getAsRegion();
 1074   const MemRegion *MR = nullptr;
 2465       if (const MemRegion *R = V.getAsRegion())
 2622           if (const MemRegion *R = L.getAsRegion())
 2690   const MemRegion *MR = Loc.getAsRegion();
 2717     ArrayRef<const MemRegion *> ExplicitRegions,
 2797     const MemRegion *LocReg = nullptr;
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  563     const MemRegion *Target = Call->getCXXThisVal().getAsRegion();
  602                                     const MemRegion *Dest,
  879   const MemRegion *R =
  894   const MemRegion *R = svalBuilder.getRegionManager().getCXXTempObjectRegion(
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  636     const MemRegion *TargetR = Target.getAsRegion();
 1054 void ExprEngine::BifurcateCall(const MemRegion *BifurReg,
tools/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
   60   const MemRegion *Regions[] = {MRMgr.getStackLocalsRegion(STC),
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
   67                                          const SuperTy *superRegion) {
  132 bool SubRegion::isSubRegionOf(const MemRegion* R) const {
  133   const MemRegion* r = this;
  148     const MemRegion *superRegion = r->getSuperRegion();
  251                                  const MemRegion *superRegion) {
  259                                      const MemRegion *superRegion) {
  267                                  const MemRegion *superRegion) {
  284                                           const MemRegion* superRegion) {
  292                                   const MemRegion *sRegion) {
  304                                    const MemRegion* superRegion) {
  309                                const MemRegion* superRegion, Kind k) {
  324                                    const MemRegion *sreg) {
  325   ID.AddInteger(static_cast<unsigned>(MemRegion::SymbolicRegionKind));
  336                                   const MemRegion* superRegion) {
  337   ID.AddInteger(MemRegion::ElementRegionKind);
  349                                        const MemRegion*) {
  350   ID.AddInteger(MemRegion::FunctionCodeRegionKind);
  361                                     const MemRegion*) {
  362   ID.AddInteger(MemRegion::BlockCodeRegionKind);
  374                                     const MemRegion *sReg) {
  375   ID.AddInteger(MemRegion::BlockDataRegionKind);
  388                                         const MemRegion *sReg) {
  400                                         const MemRegion *SReg) {
  412                                            const MemRegion *SReg) {
  662   const MemRegion *R = this;
  767 *MemRegionManager::getGlobalsRegion(MemRegion::Kind K,
  770     if (K == MemRegion::GlobalSystemSpaceRegionKind)
  772     if (K == MemRegion::GlobalImmutableSpaceRegionKind)
  848   const MemRegion *sReg = nullptr;
  857         sReg = getGlobalsRegion(MemRegion::GlobalSystemSpaceRegionKind);
  859         sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
  868         sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
  900           sReg = getGlobalsRegion(MemRegion::StaticGlobalSpaceRegionKind,
  919           sReg = getGlobalsRegion(MemRegion::StaticGlobalSpaceRegionKind,
  933                                                 const MemRegion *superR) {
  946     sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
  969       Ex, getGlobalsRegion(MemRegion::GlobalInternalSpaceRegionKind, nullptr));
  998   MemRegion* data = Regions.FindNodeOrInsertPos(ID, InsertPos);
 1129   const MemRegion *R = this;
 1160 const MemRegion *MemRegion::getBaseRegion() const {
 1161   const MemRegion *R = this;
 1164       case MemRegion::ElementRegionKind:
 1165       case MemRegion::FieldRegionKind:
 1166       case MemRegion::ObjCIvarRegionKind:
 1167       case MemRegion::CXXBaseObjectRegionKind:
 1168       case MemRegion::CXXDerivedObjectRegionKind:
 1181 const MemRegion *MemRegion::getMostDerivedObjectRegion() const {
 1182   const MemRegion *R = this;
 1188 bool MemRegion::isSubRegionOf(const MemRegion *) const {
 1196 const MemRegion *MemRegion::StripCasts(bool StripBaseAndDerivedCasts) const {
 1197   const MemRegion *R = this;
 1233   const MemRegion *superR = nullptr;
 1294 static RegionOffset calculateOffset(const MemRegion *R) {
 1295   const MemRegion *SymbolicOffsetBase = nullptr;
 1300     case MemRegion::CodeSpaceRegionKind:
 1301     case MemRegion::StackLocalsSpaceRegionKind:
 1302     case MemRegion::StackArgumentsSpaceRegionKind:
 1303     case MemRegion::HeapSpaceRegionKind:
 1304     case MemRegion::UnknownSpaceRegionKind:
 1305     case MemRegion::StaticGlobalSpaceRegionKind:
 1306     case MemRegion::GlobalInternalSpaceRegionKind:
 1307     case MemRegion::GlobalSystemSpaceRegionKind:
 1308     case MemRegion::GlobalImmutableSpaceRegionKind:
 1313     case MemRegion::FunctionCodeRegionKind:
 1314     case MemRegion::BlockCodeRegionKind:
 1315     case MemRegion::BlockDataRegionKind:
 1322     case MemRegion::SymbolicRegionKind:
 1323     case MemRegion::AllocaRegionKind:
 1324     case MemRegion::CompoundLiteralRegionKind:
 1325     case MemRegion::CXXThisRegionKind:
 1326     case MemRegion::StringRegionKind:
 1327     case MemRegion::ObjCStringRegionKind:
 1328     case MemRegion::VarRegionKind:
 1329     case MemRegion::CXXTempObjectRegionKind:
 1333     case MemRegion::ObjCIvarRegionKind:
 1341     case MemRegion::CXXBaseObjectRegionKind: {
 1393     case MemRegion::CXXDerivedObjectRegionKind: {
 1398     case MemRegion::ElementRegionKind: {
 1426     case MemRegion::FieldRegionKind: {
 1518   using VarVec = BumpVector<const MemRegion *>;
 1590 void RegionAndSymbolInvalidationTraits::setTrait(const MemRegion *MR,
 1608 bool RegionAndSymbolInvalidationTraits::hasTrait(const MemRegion *MR,
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  126   const MemRegion *MR = LV.getAsRegion();
  137   const MemRegion *R = loc.castAs<loc::MemRegionVal>().getRegion();
  146   const MemRegion *R = loc.castAs<loc::MemRegionVal>().getRegion();
  152 typedef ArrayRef<const MemRegion *> RegionList;
  245 SVal ProgramState::getSValAsScalarOrLoc(const MemRegion *R) const {
  539   const MemRegion *R = val.getRegion()->getBaseRegion();
  589 bool ScanReachableSymbols::scan(const MemRegion *R) {
  607     const MemRegion *Super = SR->getSuperRegion();
  641   for (const MemRegion *R : Reachable) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
   49   llvm::PointerIntPair<const MemRegion *, 2> P;
   61   explicit BindingKey(const MemRegion *r, uint64_t offset, Kind k)
   74   const MemRegion *getRegion() const { return P.getPointer(); }
   85   const MemRegion *getBaseRegion() const {
   96   static BindingKey Make(const MemRegion *R, Kind k);
  115 BindingKey BindingKey::Make(const MemRegion *R, Kind k) {
  150 typedef llvm::ImmutableMap<const MemRegion *, ClusterBindings>
  154 class RegionBindingsRef : public llvm::ImmutableMapRef<const MemRegion *,
  170   typedef llvm::ImmutableMapRef<const MemRegion *, ClusterBindings>
  198   RegionBindingsRef addBinding(const MemRegion *R,
  202   const SVal *lookup(const MemRegion *R, BindingKey::Kind k) const;
  207   RegionBindingsRef removeBinding(const MemRegion *R,
  210   RegionBindingsRef removeBinding(const MemRegion *R) {
  215   Optional<SVal> getDirectBinding(const MemRegion *R) const;
  219   Optional<SVal> getDefaultBinding(const MemRegion *R) const;
  265 Optional<SVal> RegionBindingsRef::getDirectBinding(const MemRegion *R) const {
  269 Optional<SVal> RegionBindingsRef::getDefaultBinding(const MemRegion *R) const {
  274   const MemRegion *Base = K.getBaseRegion();
  285 RegionBindingsRef RegionBindingsRef::addBinding(const MemRegion *R,
  298 const SVal *RegionBindingsRef::lookup(const MemRegion *R,
  304   const MemRegion *Base = K.getBaseRegion();
  315 RegionBindingsRef RegionBindingsRef::removeBinding(const MemRegion *R,
  394                                             const MemRegion *R, QualType T);
  418   RegionBindingsRef invalidateGlobalRegion(MemRegion::Kind K,
  435   bool scanReachableSymbols(Store S, const MemRegion *R,
  451   StoreRef BindDefaultInitial(Store store, const MemRegion *R,
  464   StoreRef BindDefaultZero(Store store, const MemRegion *R) override {
  534   bool includedInBindings(Store store, const MemRegion *region) const override;
  553   Optional<SVal> getDefaultBinding(Store S, const MemRegion *R) override {
  595                                                   const MemRegion *superR,
  630                                          const MemRegion* R,
  708   typedef llvm::DenseMap<const MemRegion *, const ClusterBindings *> ClusterMap;
  709   typedef const MemRegion * WorkListElement;
  724   const ClusterBindings *getCluster(const MemRegion *R) {
  731   bool includeEntireMemorySpace(const MemRegion *Base) {
  743   bool isVisited(const MemRegion *R) {
  751       const MemRegion *Base = RI.getKey();
  771   bool AddToWorkList(const MemRegion *R) {
  778       const MemRegion *BaseR = E;
  784   void VisitAddedToCluster(const MemRegion *baseR, const ClusterBindings &C) {}
  785   void VisitCluster(const MemRegion *baseR, const ClusterBindings *C) {}
  787   void VisitCluster(const MemRegion *BaseR, const ClusterBindings *C,
  798 bool RegionStoreManager::scanReachableSymbols(Store S, const MemRegion *R,
  825   const MemRegion *Base = K.getConcreteOffsetRegion();
  826   const MemRegion *R = K.getRegion();
  918       const MemRegion *Base = NextKey.getConcreteOffsetRegion();
  950   const MemRegion *ClusterHead = TopKey.getBaseRegion();
 1017   void VisitCluster(const MemRegion *baseR, const ClusterBindings *C);
 1022   bool AddToWorkList(const MemRegion *R);
 1026   bool includeEntireMemorySpace(const MemRegion *Base);
 1030   bool isInitiallyIncludedGlobalRegion(const MemRegion *R);
 1034 bool InvalidateRegionsWorker::AddToWorkList(const MemRegion *R) {
 1037   const MemRegion *BaseR = doNotInvalidateSuperRegion ? R : R->getBaseRegion();
 1046   if (const MemRegion *R = V.getAsRegion()) {
 1066 void InvalidateRegionsWorker::VisitCluster(const MemRegion *baseR,
 1127           if (const MemRegion *LR = L->getAsRegion())
 1196       const MemRegion *SuperR = baseR->getBaseRegion();
 1235           const MemRegion *R = V.getAsRegion();
 1257     const MemRegion *R) {
 1270 bool InvalidateRegionsWorker::includeEntireMemorySpace(const MemRegion *Base) {
 1280 RegionStoreManager::invalidateGlobalRegion(MemRegion::Kind K,
 1319         if (const MemRegion *R = (*I).getAsRegion())
 1325     if (const MemRegion *R = V.getAsRegion()) {
 1375     B = invalidateGlobalRegion(MemRegion::GlobalInternalSpaceRegionKind,
 1379     B = invalidateGlobalRegion(MemRegion::GlobalSystemSpaceRegionKind,
 1395                                       const MemRegion *R,
 1464   const MemRegion *MR = L.castAs<loc::MemRegionVal>().getRegion();
 1678   const MemRegion* superR = R->getSuperRegion();
 1794   const MemRegion* superR = R->getSuperRegion();
 1821                                                      const MemRegion *superR,
 1915     const MemRegion *Base = SR->getSuperRegion();
 1968   const MemRegion *superR = R->getSuperRegion();
 2127                                             const MemRegion *region) const {
 2141       if (const MemRegion *R = D.getAsRegion())
 2156     if (const MemRegion* R = LV->getRegion())
 2171   const MemRegion *R = L.castAs<loc::MemRegionVal>().getRegion();
 2206                                             const MemRegion *R,
 2518   void VisitAddedToCluster(const MemRegion *baseR, const ClusterBindings &C);
 2519   void VisitCluster(const MemRegion *baseR, const ClusterBindings *C);
 2524   bool AddToWorkList(const MemRegion *R);
 2531 bool RemoveDeadBindingsWorker::AddToWorkList(const MemRegion *R) {
 2532   const MemRegion *BaseR = R->getBaseRegion();
 2536 void RemoveDeadBindingsWorker::VisitAddedToCluster(const MemRegion *baseR,
 2571 void RemoveDeadBindingsWorker::VisitCluster(const MemRegion *baseR,
 2605   if (const MemRegion *R = V.getAsRegion()) {
 2660     const MemRegion *Base = I.getKey();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  205                                               const MemRegion *region,
  567       if (const MemRegion *R = LV->getLoc().getAsRegion()) {
  607   if (const MemRegion *R = val.getAsRegion()) {
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
   52     const MemRegion *R = RV->getRegion();
   65     const MemRegion* R = X->getRegion();
   91     const MemRegion *R = X->getRegion();
  107   const MemRegion *R = X->getRegion();
  151 const MemRegion *SVal::getAsRegion() const {
  161 const MemRegion *loc::MemRegionVal::stripCasts(bool StripBaseCasts) const {
  162   const MemRegion *R = getRegion();
tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
   32     const MemRegion *MR = LV->getAsRegion();
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  151         const MemRegion *R = val.castAs<loc::MemRegionVal>().getRegion();
  960     const MemRegion *LeftMR = lhs.getAsRegion();
  963     const MemRegion *RightMR = rhs.getAsRegion();
  970     const MemRegion *LeftBase = LeftMR->getBaseRegion();
  971     const MemRegion *RightBase = RightMR->getBaseRegion();
 1169   if (const MemRegion *region = lhs.getAsRegion()) {
 1329     SVal VisitMemRegion(const MemRegion *R) { return loc::MemRegionVal(R); }
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
   74 const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy) {
   74 const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy) {
  113     case MemRegion::CXXThisRegionKind:
  114     case MemRegion::CodeSpaceRegionKind:
  115     case MemRegion::StackLocalsSpaceRegionKind:
  116     case MemRegion::StackArgumentsSpaceRegionKind:
  117     case MemRegion::HeapSpaceRegionKind:
  118     case MemRegion::UnknownSpaceRegionKind:
  119     case MemRegion::StaticGlobalSpaceRegionKind:
  120     case MemRegion::GlobalInternalSpaceRegionKind:
  121     case MemRegion::GlobalSystemSpaceRegionKind:
  122     case MemRegion::GlobalImmutableSpaceRegionKind: {
  126     case MemRegion::FunctionCodeRegionKind:
  127     case MemRegion::BlockCodeRegionKind:
  128     case MemRegion::BlockDataRegionKind:
  129     case MemRegion::StringRegionKind:
  131     case MemRegion::SymbolicRegionKind:
  132     case MemRegion::AllocaRegionKind:
  133     case MemRegion::CompoundLiteralRegionKind:
  134     case MemRegion::FieldRegionKind:
  135     case MemRegion::ObjCIvarRegionKind:
  136     case MemRegion::ObjCStringRegionKind:
  137     case MemRegion::VarRegionKind:
  138     case MemRegion::CXXTempObjectRegionKind:
  139     case MemRegion::CXXBaseObjectRegionKind:
  140     case MemRegion::CXXDerivedObjectRegionKind:
  143     case MemRegion::ElementRegionKind: {
  165       const MemRegion *baseR = rawOff.getRegion();
  197       const MemRegion *newSuperR = nullptr;
  229   const MemRegion *MR = V.getAsRegion();
  275   const MemRegion *DerivedReg = Derived.getAsRegion();
  294   const MemRegion *BaseReg = MRMgr.getCXXBaseObjectRegion(
  306 static const CXXRecordDecl *getCXXRecordType(const MemRegion *MR) {
  318   const MemRegion *MR = Base.getAsRegion();
  366     const MemRegion *Uncasted = MR->StripCasts(/*IncludeBaseCasts=*/false);
  546                                                     const MemRegion* R,
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  236 SymbolManager::getMetadataSymbol(const MemRegion* R, const Stmt *S, QualType T,
  406 void SymbolReaper::markLive(const MemRegion *region) {
  411 void SymbolReaper::markElementIndicesLive(const MemRegion *region) {
  427 bool SymbolReaper::isLiveRegion(const MemRegion *MR) {
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1983     { typedef _Up     type; };