> I should add that I'm originally the one who added the code that did the
> wrong thing:
> 
>   http://llvm.org/viewvc/llvm-project?view=rev&revision=91501

Yes, I was curious about why it was being treated as it was. Binding to
both pointer and reference arguments go through the block labeled "Binding
directly to a symbolic region should be treated as binding to element 0."


> As for the code snippet in PR 7218:
>   char broken (char a) {
>       char buf[2];
>       buf[0] = a;
>       return buf[1]; // should warn but does not
>   }
> This should be fixed by detecting if we are going outside the bounds of
> the memory block.  I don't think this requires changing the binding
model
> in RegionStoreManager.

It's not an out-of-bounds issue, it's about garbage being returned. The
region bounds checking works fine (outofbound.c).
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to