On May 30, 2010, at 2:51 PM, Ted Kremenek wrote:

> 
> On May 30, 2010, at 12:46 AM, Jordy Rose wrote:
> 
>> Binding a symbolic region whose type is a reference shows up when the
>> reference is an argument, like so:
>> 
>> char t3 (char& r) {
>> r = 'c';
>> if (r) return r;
>> return '0';
>> }
>> 
>> The reason for the SymbolicRegion section in canHaveDirectBinding(),
>> though, was originally more about having a way to set default values by
>> taking advantages of a fact about SymbolicRegions (if you're accessing them
>> directly, it's either *p or a reference, or an explicit call to Bind()),
>> not enforcing a rule.
> 
> Hi Jordy,
> 
> A fundamental invariant in the memory region design is that symbolic regions 
> don't have bindings since they represent typeless blobs of memory.  All 
> bindings need to be done via ElementRegions or FieldRegions layered on top of 
> them.  Changing this would subtly break many things.  The ElementRegion 
> design allows us to express all bindings as being typed.
> 
> Ted

Correction: SymbolicRegions don't have DIRECT bindings.
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to