Re: [PATCH 1/2] drm/i915: drop -Wall and related disables from cflags as redundant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 10 Oct 2023, Jani Nikula <jani.nikula@xxxxxxxxx> wrote:
> On Mon, 09 Oct 2023, Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>> On Sun, Oct 08, 2023 at 12:28:46AM +0900, Masahiro Yamada wrote:
>>> On Fri, Oct 6, 2023 at 9:35 PM Jani Nikula <jani.nikula@xxxxxxxxx> wrote:
>>> >
>>> > The kernel top level Makefile, and recently scripts/Makefile.extrawarn,
>>> > have included -Wall, and the disables -Wno-format-security and
>>> > $(call cc-disable-warning,frame-address,) for a very long time. They're
>>> > redundant in our local subdir-ccflags-y and can be dropped.
>>> >
>>> > Cc: Arnd Bergmann <arnd@xxxxxxxx>
>>> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
>>> > Cc: Nathan Chancellor <nathan@xxxxxxxxxx>
>>> > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
>>> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>>> 
>>> 
>>> I made a similar suggestion in the past
>>> https://lore.kernel.org/dri-devel/20190515043753.9853-1-yamada.masahiro@xxxxxxxxxxxxx/
>>> 
>>> So, I am glad that Intel has decided to de-duplicate the flags.
>>> 
>>> 
>>> 
>>> I think you can drop more flags.
>>> 
>>> For example,
>>> 
>>>  subdir-ccflags-y += -Wno-sign-compare
>>> 
>>> 
>>> It is set by scripts/Makefile.extrawarn
>>> unless W=3 is passed.
>>> 
>>> 
>>> If W=3 is set by a user, -Wsign-compare should be warned
>>> as it is the user's request.
>>> 
>>> 
>>> drivers/gpu/drm/i915/Makefile negates W=3.
>>> There is no good reason to do so.
>>> 
>>> 
>>> Same applied to
>>> 
>>> 
>>> subdir-ccflags-y += -Wno-shift-negative-value
>>
>> As I point out in my review of the second patch [1], I am not sure these
>> should be dropped because -Wextra turns these warnings back on, at least
>> for clang according to this build report [2] and my own testing, so they
>> need to be disabled again.
>
> Yeah. The focus is on enabling W=1 warnings by default for i915. I get
> that the disables we have to add to achieve that also disable some W=2
> and W=3 warnings. But taking all of that into account requires
> duplicating even more of Makefile.extrawarn (checking for warning
> levels, maintaining parity with the different levels, etc.).
>
> I guess we could check if KBUILD_EXTRA_WARN does not have any of 1, 2,
> or 3, but very few places outside of the build system look at
> KBUILD_EXTRA_WARN, so feels wrong.

This is the simplest I could think of:

# The following turn off the warnings enabled by -Wextra
ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
KBUILD_CFLAGS += -Wno-missing-field-initializers
KBUILD_CFLAGS += -Wno-type-limits
KBUILD_CFLAGS += -Wno-shift-negative-value
endif
ifeq ($(findstring 3, $(KBUILD_EXTRA_WARN)),)
KBUILD_CFLAGS += -Wno-sign-compare
endif

Masahiro, I'd like to get your feedback on which to choose,
unconditionally silencing the W=2/W=3 warnings for i915, or looking at
KBUILD_EXTRA_WARN.

Not silencing them is not an option, because we also use -Werror
locally.


BR,
Jani.



>
> BR,
> Jani.
>
>
>>
>> [1]: https://lore.kernel.org/20231006174550.GC3359308@dev-arch.thelio-3990X/
>> [2]: https://lore.kernel.org/202310070011.Fji48IBk-lkp@xxxxxxxxx/
>>
>> Cheers,
>> Nathan.

-- 
Jani Nikula, Intel




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux