kernel_samsung_a53x/scripts
Nathan Chancellor 5dc502be0c kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1
[ Upstream commit 75b5ab134bb5f657ef7979a59106dce0657e8d87 ]

Clang enables -Wenum-enum-conversion and -Wenum-compare-conditional
under -Wenum-conversion. A recent change in Clang strengthened these
warnings and they appear frequently in common builds, primarily due to
several instances in common headers but there are quite a few drivers
that have individual instances as well.

  include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
    508 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
        |                            ~~~~~~~~~~~~~~~~~~~~~ ^
    509 |                            item];
        |                            ~~~~

  drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:955:24: warning: conditional expression between different enumeration types ('enum iwl_mac_beacon_flags' and 'enum iwl_mac_beacon_flags_v1') [-Wenum-compare-conditional]
    955 |                 flags |= is_new_rate ? IWL_MAC_BEACON_CCK
        |                                      ^ ~~~~~~~~~~~~~~~~~~
    956 |                           : IWL_MAC_BEACON_CCK_V1;
        |                             ~~~~~~~~~~~~~~~~~~~~~
  drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:1120:21: warning: conditional expression between different enumeration types ('enum iwl_mac_beacon_flags' and 'enum iwl_mac_beacon_flags_v1') [-Wenum-compare-conditional]
   1120 |                                                0) > 10 ?
        |                                                        ^
   1121 |                         IWL_MAC_BEACON_FILS :
        |                         ~~~~~~~~~~~~~~~~~~~
   1122 |                         IWL_MAC_BEACON_FILS_V1;
        |                         ~~~~~~~~~~~~~~~~~~~~~~

Doing arithmetic between or returning two different types of enums could
be a bug, so each of the instance of the warning needs to be evaluated.
Unfortunately, as mentioned above, there are many instances of this
warning in many different configurations, which can break the build when
CONFIG_WERROR is enabled.

To avoid introducing new instances of the warnings while cleaning up the
disruption for the majority of users, disable these warnings for the
default build while leaving them on for W=1 builds.

Cc: stable@vger.kernel.org
Closes: https://github.com/ClangBuiltLinux/linux/issues/2002
Link: 8c2ae42b3e
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 09:22:34 +01:00
..
atomic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
basic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clang-tools gen_compile_commands: fix invalid escape sequence warning 2024-11-19 08:44:35 +01:00
coccinelle Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
crypto Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dtc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dummy-tools Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fmp Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-plugins randstruct: Fix gcc-plugin performance mode to stay in group 2024-11-18 11:43:20 +01:00
gdb Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
genksyms Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kconfig kconfig: fix infinite loop when expanding a macro at the end of file 2024-11-19 08:44:58 +01:00
ksymoops Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lego Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mod modpost: trim leading spaces when processing source files list 2024-11-18 12:13:29 +01:00
package Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
selinux Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tracing Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adjust_autoksyms.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
as-version.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asn1_compiler.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bin2c.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bloat-o-meter Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bootgraph.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bpf_helpers_doc.py bpf, scripts: Correct GPL license name 2024-11-18 22:25:41 +01:00
cc-can-link.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
check-sysctl-docs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
check_extable.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checkincludes.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checkkconfigsymbols.py Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checkpatch.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checkstack.pl checkstack: fix printed address 2024-11-18 12:11:41 +01:00
checksyscalls.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checkversion.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clang-version.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cleanfile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cleanpatch Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
coccicheck Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
config Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
const_structs.checkpatch Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
decode_stacktrace.sh scripts/decode_stacktrace.sh: optionally use LLVM utilities 2024-11-18 12:13:34 +01:00
decodecode Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
depmod.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dev-needs.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
diffconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
documentation-file-ref-check Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
export_report.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract-cert.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract-ikconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract-module-sig.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract-sys-certs.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract-vmlinux Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extract_xc3028.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
faddr2line Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
file-size.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
find-unused-docs.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-goto.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-ld Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-version.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-x86_32-has-stack-protector.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gcc-x86_64-has-stack-protector.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gen_autoksyms.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gen_ksymdeps.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
generate_cfi_kallsyms.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
generate_initcall_order.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
get_abi.pl scripts/get_abi: fix source path leak 2024-11-18 12:12:58 +01:00
get_dvb_firmware Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
get_maintainer.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gfp-translate Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
headerdep.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
headers_check.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
headers_install.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
insert-sys-cert.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jobserver-exec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kallsyms.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kbuild.include Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig.include Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kernel-doc stddef: Introduce DECLARE_FLEX_ARRAY() helper 2024-11-18 12:12:59 +01:00
ld-version.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
leaking_addresses.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Lindent Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
link-vmlinux.sh kbuild: Fix changing ELF file type for output of gen_btf for big endian 2024-11-18 12:13:30 +01:00
lld-version.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.asm-generic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.build Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.clean Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.dtbinst Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.extrawarn kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1 2024-11-19 09:22:34 +01:00
Makefile.gcc-plugins Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.headersinst Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.host Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.kasan Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.kcov Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.kcsan Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.lib Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.modfinal Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.modinst Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.modpost Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.modsign Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.package Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.ubsan Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.userprogs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
makelst Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
markup_oops.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mkcompile_h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mkmakefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mksysmap Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mkuboot.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
module.lds.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
modules-check.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nsdeps Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
objdiff Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pahole-flags.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
parse-maintainers.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
patch-kernel Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
profile2linkerlist.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
prune-kernel Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
recordmcount.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
recordmcount.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
recordmcount.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setlocalversion scripts: Don't append '-dirty' to Kernel name 2024-06-15 16:21:18 -03:00
show_delta Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sign-file.c sign-file: Fix incorrect return values check 2024-11-18 12:11:49 +01:00
sorttable.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sorttable.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spdxcheck-test.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spdxcheck.py Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spelling.txt Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sphinx-pre-install Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
split-man.pl Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stackdelta Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stackusage Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
subarch.include Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tags.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tools-support-relr.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unifdef.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ver_linux Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen-hypercalls.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xz_wrap.sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00