[cfe-commits] [PATCH] Set region size in GRRegionVals transfer function

Ted Kremenek kremenek at apple.com
Wed Nov 5 18:20:27 PST 2008


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20081105/1f23df4b/attachment.html>


More information about the cfe-commits mailing list