On Tue, Feb 13, 2018 at 8:23 AM, Willy Tarreau <w...@1wt.eu> wrote:
> On Tue, Feb 13, 2018 at 09:19:21AM +0800, Xiongfeng Wang wrote:
>> This may suppress the gcc warning.
> In fact there are two big problems with gcc warnings :
> - writing -Wno-something-unknown triggers an error on versions where
> "something-unknown" isn't known, making it difficult to permanently
> disable warnings (though in the kernel we handle this pretty fine)
We have the $(call cc-disable-warning) helper for this.
> - warnings and diagnostics are conflated. Some warnings should only be
> provided when the developer explicitly asks for suspicious stuff
> (-Wsecurity, -Wsuspicious, etc) that would *not* be part of -Wall
> since -Wall is usually used to report real warnings.
And this is what the W=1 and W=2 make options are for.
I originally asked Xiongfeng to look at some of the new gcc-8 warnings,
but must have miscommunicated at some point. I think we do want to
enable the new -Wstringop-overflow warnings by default and fix all
instances, including the false-positive ones. This is a useful warning
because it tells you when you actually write past a buffer, e.g. using
strcpy() with a source string that is longer than the destination.
For -Wstringop-truncation, we can decide whether it should be W=1
or W=2, but I'd still make it possible for users and maintainers to
easily enable the warning when test building new code.