2009/12/17 Chris Lattner <[email protected]>:
>
> On Dec 16, 2009, at 8:30 PM, Ted Kremenek wrote:
>
>>
>> On Dec 16, 2009, at 5:47 PM, Zhongxing Xu wrote:
>>
>>> 2009/12/17 Ted Kremenek <[email protected]>:
>>>> Hi Zhongxing,
>>>>
>>>> How do we plan on using CXXObjectRegion?
>>>>
>>>> For stack allocated objects, we will use VarRegions.  For heap allocated 
>>>> (e.g., 'new'), we will use SymbolicRegions.  For fields that are C++ 
>>>> objects we will use FieldRegions.
>>>>
>>>
>>> My feeling is that c++ objects may have some properties that justify
>>> it to be a separate region, like the vtable pointer. But apparently we
>>> haven't got there.
>>
>> If we wanted to represent the vtable pointer we have a variety of options, 
>> like having something similar to FieldRegion, e.g., VTablePtrRegion, that 
>> allows us to attach the vtable pointer as a "property" of another region.  
>> That way a VarRegion could represent a stack allocated object, a 
>> SymbolicRegion an objected created using 'new', etc.
>
> One other aspect that might impact the design is that the vtable pointer 
> changes during object construction and destruction.  This makes it very much 
> like a field of an object, not a property of the object as a whole.
>
> -Chris

Yeah, this is enlightening.

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to