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
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to