[cfe-commits] [PATCH] RegionStore
Ted Kremenek
kremenek at apple.com
Sun Oct 19 23:38:24 PDT 2008
On Oct 19, 2008, at 9:48 PM, Zhongxing Xu wrote:
> When we visit (*p)[3] = 1, we evaluate (*p)'s rvalue. We will do a
> load on p's rvalue, which is loc::MemRegionVal(region of a). We want
> (*p)'s rvalue still be loc::MemRegionVal(region of a). So we should
> handle this in Store.
In this example, I don't see where GetSVal() gets used other than
handling the dereference of p, which will return the
loc::MemRegionVal(region of a). It seems like it just works (no
special handling of array types required); VisitArraySubscriptExpr
(with asLValue=true) will then call the store's VisitLValueElement
with loc::MemRegionVal and nonloc::ConcreteInt respectively, returning
an lvalue for the entire expression. Since BasicStore doesn't reason
about array accesses, (*p)[3] will evaluate to UnknownVal().
More information about the cfe-commits
mailing list