[PATCH] D52949: [Diagnostics] Implement -Wsizeof-pointer-div
Henry Wong via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 23 09:19:23 PDT 2018
MTC added a comment.
In https://reviews.llvm.org/D52949#1268640, @xbolva00 wrote:
> Second thought, I don't think we should recommend std::size here (maybe it should be okay for clang static analyzers)
>
> uint32_t data[] = {10, 20, 30, 40};
> len = sizeof(data)/sizeof(*data); // "warn" on valid code to recommend std::size? I dont agree with such behaviour.
IMHO, a clang-tidy checker is more suitable than clang static analyzer to indicate to the developers that we should prefer `std::size` to `sizeof(data)/sizeof(*data)`.
What I want to know most is whether we should emit a warning for the code below. I haven't been able to test the patch yet, but intuitively, this patch will emit a warning.
int foo(int *p) {
int d = sizeof(p) / sizeof(char); // Should we emit a warning here?
return d;
}
GCC keep silent about this case, and I agree with it, see https://gcc.godbolt.org/z/ZToFqq. What do you think about this case?
https://reviews.llvm.org/D52949
More information about the cfe-commits
mailing list