aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/RegionStore.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-03-09 09:31:22 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-03-09 09:31:22 +0000
commitff8d204dcf919116bf11dd15c85a8e0791a9028b (patch)
treeecb5585c92e5e8f5cfa5d5cb745620773b975bf7 /lib/Analysis/RegionStore.cpp
parent1038f9f69978ea99efccdda01f66215a1c56dc55 (diff)
Only track integer and pointer values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/RegionStore.cpp')
-rw-r--r--lib/Analysis/RegionStore.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index 433b05d996..4c54721e34 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -751,8 +751,11 @@ SVal RegionStoreManager::Retrieve(const GRState* St, Loc L, QualType T) {
return UndefinedVal();
}
- // All other values are symbolic.
- return SVal::GetRValueSymbolVal(getSymbolManager(), R);
+ // All other integer values are symbolic.
+ if (Loc::IsLocType(RTy) || RTy->isIntegerType())
+ return SVal::GetRValueSymbolVal(getSymbolManager(), R);
+ else
+ return UnknownVal();
}
SVal RegionStoreManager::RetrieveStruct(const GRState* St,const TypedRegion* R){