diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-17 01:51:27 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-17 01:51:27 +0000 |
commit | 4e500455c9487fd72146a3d39d548a962ae24ff4 (patch) | |
tree | 742f11b1bb0eafe49f92e54e987ca8da69abfec5 /clang | |
parent | ca0546facc5af4c27a5efd5ff80935ba05ae030a (diff) | |
download | bcm5719-llvm-4e500455c9487fd72146a3d39d548a962ae24ff4.tar.gz bcm5719-llvm-4e500455c9487fd72146a3d39d548a962ae24ff4.zip |
Array and struct variables do have lvalue. For example,
struct s {};
void f() {
int a[10];
int (*p)[10];
p = &a;
(*p)[3] =1;
struct s d;
struct s *q;
q = &d;
}
We return the corresponding MemRegionVal for them.
llvm-svn: 57664
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Analysis/BasicStore.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/clang/lib/Analysis/BasicStore.cpp b/clang/lib/Analysis/BasicStore.cpp index 000ea1bef2d..9d8a9acda50 100644 --- a/clang/lib/Analysis/BasicStore.cpp +++ b/clang/lib/Analysis/BasicStore.cpp @@ -79,8 +79,6 @@ StoreManager* clang::CreateBasicStoreManager(GRStateManager& StMgr) { return new BasicStoreManager(StMgr); } RVal BasicStoreManager::getLValueVar(const GRState* St, const VarDecl* VD) { - QualType T = VD->getType(); - assert(!T->isArrayType() && "Array and struct variable have no lvalue."); return lval::MemRegionVal(MRMgr.getVarRegion(VD)); } |