diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-06-23 00:04:09 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-06-23 00:04:09 +0000 |
commit | 2266640a7a63580ea817b229694bfee420a9b9ba (patch) | |
tree | 16e9128e4d4516362d068f5dcd41b20e33fbd5a9 /clang/lib/Analysis/MemRegion.cpp | |
parent | bee30f58fb3f65d980fa15c14aa9546145521619 (diff) | |
download | bcm5719-llvm-2266640a7a63580ea817b229694bfee420a9b9ba.tar.gz bcm5719-llvm-2266640a7a63580ea817b229694bfee420a9b9ba.zip |
MemRegionManager: Migrate getObjCObjectRegion() and getTypedViewRegion() to use
the new trait-based construction of MemRegion objects.
llvm-svn: 73926
Diffstat (limited to 'clang/lib/Analysis/MemRegion.cpp')
-rw-r--r-- | clang/lib/Analysis/MemRegion.cpp | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/clang/lib/Analysis/MemRegion.cpp b/clang/lib/Analysis/MemRegion.cpp index 2afd0b40ec9..bd42858a4fa 100644 --- a/clang/lib/Analysis/MemRegion.cpp +++ b/clang/lib/Analysis/MemRegion.cpp @@ -325,40 +325,13 @@ MemRegionManager::getObjCIvarRegion(const ObjCIvarDecl* d, ObjCObjectRegion* MemRegionManager::getObjCObjectRegion(const ObjCInterfaceDecl* d, - const MemRegion* superRegion) { - llvm::FoldingSetNodeID ID; - DeclRegion::ProfileRegion(ID, d, superRegion, - MemRegion::ObjCObjectRegionKind); - - void* InsertPos; - MemRegion* data = Regions.FindNodeOrInsertPos(ID, InsertPos); - ObjCObjectRegion* R = cast_or_null<ObjCObjectRegion>(data); - - if (!R) { - R = (ObjCObjectRegion*) A.Allocate<ObjCObjectRegion>(); - new (R) ObjCObjectRegion(d, superRegion); - Regions.InsertNode(R, InsertPos); - } - - return R; + const MemRegion* superRegion) { + return getRegion<ObjCObjectRegion>(d, superRegion); } TypedViewRegion* MemRegionManager::getTypedViewRegion(QualType t, const MemRegion* superRegion) { - llvm::FoldingSetNodeID ID; - TypedViewRegion::ProfileRegion(ID, t, superRegion); - - void* InsertPos; - MemRegion* data = Regions.FindNodeOrInsertPos(ID, InsertPos); - TypedViewRegion* R = cast_or_null<TypedViewRegion>(data); - - if (!R) { - R = (TypedViewRegion*) A.Allocate<TypedViewRegion>(); - new (R) TypedViewRegion(t, superRegion); - Regions.InsertNode(R, InsertPos); - } - - return R; + return getRegion<TypedViewRegion>(t, superRegion); } AllocaRegion* MemRegionManager::getAllocaRegion(const Expr* E, unsigned cnt) { |