[Intel-gfx] [PATCH] drm/i915: Replace "cc-option -Wno-foo" with "cc-disable-warning foo"

Chris Wilson chris at chris-wilson.co.uk
Mon Oct 30 21:25:33 UTC 2017


Quoting Ville Syrjälä (2017-10-30 17:41:51)
> On Mon, Oct 30, 2017 at 05:29:27PM +0000, Chris Wilson wrote:
> > To quote kbuild/makefiles.txt:
> > 
> >     cc-disable-warning checks if gcc supports a given warning and returns
> >     the commandline switch to disable it. This special function is needed,
> >     because gcc 4.4 and later accept any unknown -Wno-* option and only
> >     warn about it if there is another warning in the source file.
> > 
> > This is exactly what we were trying to achieve with cc-option -Wno-foo and
> > failed miserably.
> > 
> > Reported-by: kbuild-all at 01.org
> > Fixes: 39bf4de89ff7 ("drm/i915: Add -Wall -Wextra to our build, set warnings to full")
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Jani Nikula <jani.nikula at intel.com>
> > ---
> >  drivers/gpu/drm/i915/Makefile | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> > index 7750be8e27a6..1bbc5440db40 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -12,15 +12,15 @@
> >  # will most likely get a sudden build breakage... Hopefully we will fix
> >  # new warnings before CI updates!
> >  subdir-ccflags-y := -Wall -Wextra
> > -subdir-ccflags-y += $(call cc-option,-Wno-unused-parameter,)
> > -subdir-ccflags-y += $(call cc-option,-Wno-type-limits,)
> > -subdir-ccflags-y += $(call cc-option,-Wno-missing-field-initializers,)
> > -subdir-ccflags-y += $(call cc-option,-Wno-implicit-fallthrough,)
> > +subdir-ccflags-y += $(call cc-disable-warning, unused-parameter)
> > +subdir-ccflags-y += $(call cc-disable-warning, type-limits)
> > +subdir-ccflags-y += $(call cc-disable-warning, missing-field-initializers)
> > +subdir-ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
> >  subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
> >  
> >  # Fine grained warnings disable
> > -CFLAGS_i915_pci.o = $(call cc-option,-Wno-override-init,)
> > -CFLAGS_intel_fbdev.o = $(call cc-option,-Wno-override-init,)
> > +CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
> > +CFLAGS_intel_fbdev.o = $(call cc-disable-warning, override-init)
> 
> Looks correct to me.
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

And it still survives CI with -Wall -Wextra -Werror, so not entirely
broken.

Should we open a sweepstake on what kbuild reports next?

Thanks and pushed,
-Chris


More information about the Intel-gfx mailing list