summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2008-10-27 12:23:17 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2008-10-27 12:23:17 +0000
commit36d4ade4be78855e6cba0e52ae70a2d307591353 (patch)
treef013249153c0fb7dbf10ddce808dfe918a20bd34
parentc6db58a6bd354dba133840f5e7699cd51f3f87d0 (diff)
downloadbcm5719-llvm-36d4ade4be78855e6cba0e52ae70a2d307591353.tar.gz
bcm5719-llvm-36d4ade4be78855e6cba0e52ae70a2d307591353.zip
We cannot get precise lvalue for symbolic base array region.
llvm-svn: 58243
-rw-r--r--clang/lib/Analysis/RegionStore.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Analysis/RegionStore.cpp b/clang/lib/Analysis/RegionStore.cpp
index 536e14944b6..ae0383d06eb 100644
--- a/clang/lib/Analysis/RegionStore.cpp
+++ b/clang/lib/Analysis/RegionStore.cpp
@@ -168,6 +168,9 @@ SVal RegionStoreManager::getLValueElement(const GRState* St,
if (Base.isUnknownOrUndef())
return Base;
+ if (isa<loc::SymbolVal>(Base))
+ return Base;
+
loc::MemRegionVal& BaseL = cast<loc::MemRegionVal>(Base);
// We expect BaseR is an ElementRegion, not a base VarRegion.
OpenPOWER on IntegriCloud