[cfe-commits] [PATCH] Set region size in GRRegionVals transfer function
Ted Kremenek
kremenek at apple.com
Wed Nov 5 19:27:34 PST 2008
On Nov 5, 2008, at 6:27 PM, Zhongxing Xu <xuzhongxing at gmail.com> wrote:
>
>
> On Thu, Nov 6, 2008 at 10:20 AM, Ted Kremenek <kremenek at apple.com>
> wrote:
>
> On Nov 5, 2008, at 6:12 PM, Zhongxing Xu wrote:
>
>>
>> On Thu, Nov 6, 2008 at 9:33 AM, Ted Kremenek <kremenek at apple.com>
>> wrote:
>>
>> On Nov 5, 2008, at 5:24 PM, Zhongxing Xu wrote:
>>
>>> Thoughts?
>>>
>>> Ted
>>>
>>> Sounds reasonable! I remember that there was RegionExtent code.
>>> Maybe we should pick it up.
>>
>> Right; I scribbled some code for that, but never really implemented
>> anything real. I think we just need to establish a "taxonomy" of
>> extents/sizes, and decide if we need a variant like RegionExtent or
>> can just use SVals.
>>
>> I think we can use SVals for now and extend to a RegionExtent class
>> when necessary.
>>
>> Another thing to discuss: what units shall we choose for
>> representing extent? In bits, bytes, or element numbers? For array
>> bounds checking, element numbers are the most direct. What other
>> clients care about the extents?
>
>
> Bits, bytes, number of elements... these are each different
> abstractions of memory, and different clients will have separate
> needs. If we provide a clean interface to go between these units
> (which could potentially be provided by a RegionExtent class) then I
> think we (a) can serve more clients more easily and (b) have extra
> error checking for cases when clients use the wrong units.
>
> Here's one argument for bits. That's what ASTContext::getTypeSize()
> and ASTContext::getTypeAlign() return (so there is some consistency
> there). Moreover, it is plausible that we have regions over
> individual bits (e.g., bit fields, bit-level typing). As long as
> its consistent I think we're fine.
>
> Yeah. We can represent in bits internally in RegionExtent and
> provide interface for RegionExtent to convert to bytes or other units.
My thoughts exactly.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20081105/e775d798/attachment.html>
More information about the cfe-commits
mailing list