ASDenysPetrov added a comment.

@aaron.ballman
Let me speak some thoughts. Consider next:

  int arr[2][5];
  int *ptr1 = &arr[0][0];
  int *ptr2 = &arr[1][0];

The Standard tells that `ptr1[5]` is UB and `ptr2[0]` is a valid object. In 
practice `ptr1` and `ptr2` usually are equal. But the Standard does not 
garantee them to be equal and this depends on a particular implementation. So 
we should rely on that there might be a compiler such that creates every 
subarray disjointed. I think this is an exact excerpt from what our arguing 
actually starts from.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104285/new/

https://reviews.llvm.org/D104285

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to