# git rev-parse -q --verify e9338abf0e186336022293d2e454c106761f262b^{commit} e9338abf0e186336022293d2e454c106761f262b already have revision, skipping fetch # git checkout -q -f -B kisskb e9338abf0e186336022293d2e454c106761f262b # git clean -qxdf # < git log -1 # commit e9338abf0e186336022293d2e454c106761f262b # Merge: dd9c7df94c1b b7eb335e26a9 # Author: Linus Torvalds # Date: Thu Jul 15 13:57:31 2021 -0700 # # Merge tag 'Wimplicit-fallthrough-clang-5.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux # # Pull fallthrough fixes from Gustavo Silva: # "This fixes many fall-through warnings when building with Clang and # -Wimplicit-fallthrough, and also enables -Wimplicit-fallthrough for # Clang, globally. # # It's also important to notice that since we have adopted the use of # the pseudo-keyword macro fallthrough, we also want to avoid having # more /* fall through */ comments being introduced. Contrary to GCC, # Clang doesn't recognize any comments as implicit fall-through markings # when the -Wimplicit-fallthrough option is enabled. # # So, in order to avoid having more comments being introduced, we use # the option -Wimplicit-fallthrough=5 for GCC, which similar to Clang, # will cause a warning in case a code comment is intended to be used as # a fall-through marking. The patch for Makefile also enforces this. # # We had almost 4,000 of these issues for Clang in the beginning, and # there might be a couple more out there when building some # architectures with certain configurations. However, with the recent # fixes I think we are in good shape and it is now possible to enable # the warning for Clang" # # * tag 'Wimplicit-fallthrough-clang-5.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux: (27 commits) # Makefile: Enable -Wimplicit-fallthrough for Clang # powerpc/smp: Fix fall-through warning for Clang # dmaengine: mpc512x: Fix fall-through warning for Clang # usb: gadget: fsl_qe_udc: Fix fall-through warning for Clang # powerpc/powernv: Fix fall-through warning for Clang # MIPS: Fix unreachable code issue # MIPS: Fix fall-through warnings for Clang # ASoC: Mediatek: MT8183: Fix fall-through warning for Clang # power: supply: Fix fall-through warnings for Clang # dmaengine: ti: k3-udma: Fix fall-through warning for Clang # s390: Fix fall-through warnings for Clang # dmaengine: ipu: Fix fall-through warning for Clang # iommu/arm-smmu-v3: Fix fall-through warning for Clang # mmc: jz4740: Fix fall-through warning for Clang # PCI: Fix fall-through warning for Clang # scsi: libsas: Fix fall-through warning for Clang # video: fbdev: Fix fall-through warning for Clang # math-emu: Fix fall-through warning # cpufreq: Fix fall-through warning for Clang # drm/msm: Fix fall-through warning in msm_gem_new_impl() # ... # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 e9338abf0e186336022293d2e454c106761f262b # < make -s -j 32 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- multi_v7_defconfig # < make -s -j 32 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 32 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 32 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/plugin/include/tm.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/arm_ssp_per_task_plugin.c:3: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/plugin/include/tm.h:44, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/arm_ssp_per_task_plugin.c:3: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ cc1plus: warning: unrecognized command line option '-Wno-format-diag' /kisskb/src/arch/arm/crypto/ghash-ce-glue.c: In function 'ghash_do_update': /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:67:44: warning: passing argument 4 of 'pmull_ghash_update_p64' from incompatible pointer type pmull_ghash_update_p64(blocks, dg, src, key->h, head); ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:45:17: note: expected 'const u64 (*)[2]' but argument is of type 'u64 (*)[2]' asmlinkage void pmull_ghash_update_p64(int blocks, u64 dg[], const char *src, ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:69:43: warning: passing argument 4 of 'pmull_ghash_update_p8' from incompatible pointer type pmull_ghash_update_p8(blocks, dg, src, key->h, head); ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:48:17: note: expected 'const u64 (*)[2]' but argument is of type 'u64 (*)[2]' asmlinkage void pmull_ghash_update_p8(int blocks, u64 dg[], const char *src, ^ /kisskb/src/net/sched/sch_frag.c: In function 'sch_fragment': /kisskb/src/net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces] struct rtable sch_frag_rt = { 0 }; ^ /kisskb/src/net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces] /kisskb/src/drivers/firmware/qcom_scm-smc.c: In function '__scm_smc_call': /kisskb/src/drivers/firmware/qcom_scm-smc.c:95:9: warning: missing braces around initializer [-Wmissing-braces] struct arm_smccc_args smc = {0}; ^ /kisskb/src/drivers/firmware/qcom_scm-smc.c:95:9: warning: (near initialization for 'smc.args') [-Wmissing-braces] /kisskb/src/drivers/firmware/qcom_scm-legacy.c: In function 'scm_legacy_call': /kisskb/src/drivers/firmware/qcom_scm-legacy.c:139:9: warning: missing braces around initializer [-Wmissing-braces] struct arm_smccc_args smc = {0}; ^ /kisskb/src/drivers/firmware/qcom_scm-legacy.c:139:9: warning: (near initialization for 'smc.args') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 # Build took: 0:04:21.116337