On Wed, Feb 6, 2019 at 8:45 AM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > On Tue, Feb 05, 2019 at 05:26:05PM +0900, Masahiro Yamada wrote: > > On Sat, Feb 2, 2019 at 6:10 AM <jflat@xxxxxxxxxxxx> wrote: > > > > > > From: Jon Flatley <jflat@xxxxxxxxxxxx> > > > > > > gcc produces format warnings that clang suppresses. To keep behavior > > > consistent between gcc and clang, don't suppress format warnings in > > > clang. > > > > > > Signed-off-by: Jon Flatley <jflat@xxxxxxxxxxxx> > > > --- > > > > Applied to linux-kbuild. > > Thanks. > > > > > > Hi Jon and Masahiro, > > Just as a heads up, this introduces a ton of warnings (duh). Isn't the > typical plan behind turning on warnings that were disabled to build with > 'W=', fix them all, then turn them on so as not to pollute the build? > > Log file: https://gist.github.com/443db156e56cd3c0f6b21d9d77728d80 > > Note a big chunk of them come from one scnprintf call in > include/linux/usb/wusb.h but still, there are many other warnings that > make quite a bit of noise. Some seem relatively easy to fix, which I > suppose I will try to tackle soon. > > Thanks, > Nathan > Hi Nathan, This was definitely not my intention. I noticed the added warnings this morning and was considering calling for a revert on this patch. The intent was to match the behavior of gcc, as it has -Wformat enabled. It was rather naive of me to assume the behavior of -Wformat would be the same in both gcc and clang. Indeed, it seems gcc is more permissive about what format substitutions it allows. For example passing int to the "%hu" format specifier is fine in gcc under -Wformat but produces a warning in clang. Maybe this was the motivation for adding -Wno-format to clang in the first place. This difference is puzzling to me, and I wonder if it's by design. Considering the whole point of this patch was to sync up this behavior between gcc and clang I am OK with reverting this. Thanks, Jon > > > > > > > scripts/Makefile.extrawarn | 1 - > > > 1 file changed, 1 deletion(-) > > > > > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > > > index 768306add591..94daf4e1fc73 100644 > > > --- a/scripts/Makefile.extrawarn > > > +++ b/scripts/Makefile.extrawarn > > > @@ -68,7 +68,6 @@ else > > > ifdef CONFIG_CC_IS_CLANG > > > KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) > > > KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) > > > -KBUILD_CFLAGS += $(call cc-disable-warning, format) > > > KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) > > > KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) > > > KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized) > > > -- > > > 2.20.1.611.gfbb209baf1-goog > > > > > > > > > -- > > Best Regards > > Masahiro Yamada