[cfe-dev] -Warray-bounds seems over-zealous on Clang
clattner at apple.com
Tue Jul 12 20:39:19 PDT 2011
On Jul 12, 2011, at 5:15 PM, John McCall wrote:
> Gentlemen, this is Clang; we can differentiate between '1' as a literal
> value and '1' resulting from a template- or macro-metaprogrammed
> computation. The former case has no legitimate examples and can
> be safely assumed to be a pre-C99 flexible array member. The latter
> case should still be diagnosed using -Warray-bounds.
The point of a warning is to be useful, not abusive. If going to extreme measures makes the warning more useful and causes it to be more useful by default, then I think it is worth it.
Clang needs to be tolerant of different programming styles and constraints. While it is never possible to make everyone happy, disabling the warning in a very-likely false positive, or splitting that case out into a sub -W flag is the right way to go.
-Warray-bounds-single-element seems like overkill to me, but is completely feasible.
More information about the cfe-dev