From cb3a795d9d69b24af77588e66a02c3d3d5b3dd8f Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Fri, 17 Oct 2008 01:51:27 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57664 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/BasicStore.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/Analysis/BasicStore.cpp b/lib/Analysis/BasicStore.cpp index 000ea1bef2..9d8a9acda5 100644 --- a/lib/Analysis/BasicStore.cpp +++ b/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)); } -- 2.40.0