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