summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/BasicStore.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-12-16 19:42:23 +0000
committerTed Kremenek <kremenek@apple.com>2009-12-16 19:42:23 +0000
commit023bceaf1b71df213dc48b4190711095271928e2 (patch)
treee695b2bc4262b3118864a94b8adbd69e5684d05d /clang/lib/Analysis/BasicStore.cpp
parent8478ed5d18c2ce0db189bb274d74b351eb3ae659 (diff)
downloadbcm5719-llvm-023bceaf1b71df213dc48b4190711095271928e2.tar.gz
bcm5719-llvm-023bceaf1b71df213dc48b4190711095271928e2.zip
Remove use of ObjCObjectRegion from BasicStoreManager.
llvm-svn: 91553
Diffstat (limited to 'clang/lib/Analysis/BasicStore.cpp')
-rw-r--r--clang/lib/Analysis/BasicStore.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/clang/lib/Analysis/BasicStore.cpp b/clang/lib/Analysis/BasicStore.cpp
index a38aaa7eb26..237c1f9bf43 100644
--- a/clang/lib/Analysis/BasicStore.cpp
+++ b/clang/lib/Analysis/BasicStore.cpp
@@ -479,15 +479,11 @@ Store BasicStoreManager::getInitialStore(const LocationContext *InitLoc) {
const Decl& CD = *InitLoc->getDecl();
if (const ObjCMethodDecl* MD = dyn_cast<ObjCMethodDecl>(&CD)) {
if (MD->getSelfDecl() == PD) {
- // FIXME: Just use a symbolic region, and remove ObjCObjectRegion
- // entirely.
- const ObjCObjectRegion *SelfRegion =
- MRMgr.getObjCObjectRegion(MD->getClassInterface(),
- MRMgr.getHeapRegion());
-
- St = BindInternal(St, ValMgr.makeLoc(MRMgr.getVarRegion(PD, InitLoc)),
- ValMgr.makeLoc(SelfRegion));
-
+ // FIXME: Add type constraints (when they become available) to
+ // SelfRegion? (i.e., it implements MD->getClassInterface()).
+ const MemRegion *SelfRegion = MRMgr.getVarRegion(PD, InitLoc);
+ St = BindInternal(St, ValMgr.makeLoc(SelfRegion),
+ ValMgr.getRegionValueSymbolVal(SelfRegion));
// Scan the method for ivar references. While this requires an
// entire AST scan, the cost should not be high in practice.
St = scanForIvars(MD->getBody(), PD, SelfRegion, St);
OpenPOWER on IntegriCloud