ASDenysPetrov added a comment. @aaron.ballman Ok, I got your concerns. As I can see we shall only reason about objects within the bounds. Otherwise, we shall return `UndefinedVal`. E.g.:
int arr[2][5]; int* ptr1= (int*)arr; // Valid indexing for `ptr` is in range [0,4]. int* ptr2 = &arr[0][0]; // Same as above. ptr1[4]; // Valid object. ptr2[5]; // Out of bound. UB. UndefinedVal. Would it be correct? 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