serge-sans-paille added inline comments.
================ Comment at: clang/test/SemaCXX/array-bounds.cpp:240 - ((char*)foo)[sizeof(foo)] = '\0'; // expected-warning {{array index 32768 is past the end of the array (which contains 32768 elements)}} + ((char*)foo)[sizeof(foo)] = '\0'; // expected-warning {{array index 32768 is past the end of the array (which contains 4096 elements)}} ---------------- kees wrote: > serge-sans-paille wrote: > > I find this new message quite confusing, because the array index is given > > in terms of char elements, while the array size is given in terms of double > > elements. I actually find the original message more consistent to that > > respect. > Perhaps show both element count and byte offset? > > `array index $count is $(bytes - end_of_array_in_bytes) past the end of the > array (which contains $end_of_array_in_bytes bytes of $array_max_index > elements)` if we have no cast, I find the version without the patch just fine. If we have a cast, I suggest we just express the result in bytes, something along those lines (inspired by your suggestion): array index $count is $(bytes - end_of_array_in_bytes) bytes past the end of the allocated memory for that array (which contains $end_of_array_in_bytes bytes) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135920/new/ https://reviews.llvm.org/D135920 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits