<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 4, 2008, at 6:49 PM, Zhongxing Xu wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><br><div class="gmail_quote">On Sun, Oct 5, 2008 at 1:43 AM, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com">kremenek@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div class="Ih2E3d"><br> On Oct 4, 2008, at 1:51 AM, Zhongxing Xu wrote:<br> <br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> If we do not intend to support locations other than simple scalar variables in BasicStoreManager, we can make it more explicit by using VarRegionVal instead of MemRegionVal.<br> <br> -Zhongxing XU<br> </blockquote> <br> <br></div> Hi Zhongxing,<br> <br> The RValues interfaces is meant to be usable by different subclasses of StoreManager, not just BasicStoreManager. That's why I used MemRegionVal instead of VarRegionVal. We have VarRegion to distinguish a variable region from one region and another. The main objective of getting rid of DeclVal (which was replaced with MemRegionVal) was so that clients (e.g., BugReporter, specific checks) stopped thinking about just variables and started reasoning about generic chunks of memory.<br> <font color="#888888"> <br> Ted</font></blockquote><div><br>You mean we will not have other *RegionVals than MemRegionVal, and let the client use dyn_cast to reason about the kind of the underlying region?</div></div></div></blockquote></div><br><div>Another reason not to create RVals for each region: we may wish to have implementations of StoreManager create their own region types that are not known to external clients.</div></body></html>