# 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/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 e9338abf0e186336022293d2e454c106761f262b # < make -s -j 120 ARCH=sparc64 O=/kisskb/build/linus_sparc64-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 120 ARCH=sparc64 O=/kisskb/build/linus_sparc64-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- help # make -s -j 120 ARCH=sparc64 O=/kisskb/build/linus_sparc64-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- olddefconfig # make -s -j 120 ARCH=sparc64 O=/kisskb/build/linus_sparc64-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- :1515:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/kernel/trace/trace_osnoise.c: In function 'start_kthread': /kisskb/src/kernel/trace/trace_osnoise.c:1461:8: warning: 'main' is usually a function [-Wmain] void *main = osnoise_main; ^ /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ In file included from /kisskb/src/include/linux/kernel.h:16:0, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/gpu/drm/ttm/ttm_pool.c:34: /kisskb/src/drivers/gpu/drm/ttm/ttm_pool.c: In function 'ttm_pool_alloc': /kisskb/src/include/linux/minmax.h:20:28: warning: comparison of distinct pointer types lacks a cast (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) ^ /kisskb/src/include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' (__typecheck(x, y) && __no_side_effects(x, y)) ^ /kisskb/src/include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^ /kisskb/src/include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^ /kisskb/src/drivers/gpu/drm/ttm/ttm_pool.c:386:15: note: in expansion of macro 'min' for (order = min(MAX_ORDER - 1UL, __fls(num_pages)); num_pages; ^ In file included from :0:0: /kisskb/src/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c: In function 'ifh_encode_bitfield': /kisskb/src/include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_418' declared with attribute error: Unsupported width, must be <= 40 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/compiler_types.h:309:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^ /kisskb/src/include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c:28:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(width <= 40, "Unsupported width, must be <= 40"); ^ make[6]: *** [/kisskb/src/scripts/Makefile.build:271: drivers/net/ethernet/microchip/sparx5/sparx5_netdev.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:514: drivers/net/ethernet/microchip/sparx5] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:514: drivers/net/ethernet/microchip] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:514: drivers/net/ethernet] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:514: drivers/net] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1838: drivers] Error 2 make: *** [Makefile:220: __sub-make] Error 2 Command 'make -s -j 120 ARCH=sparc64 O=/kisskb/build/linus_sparc64-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sparc64-allmodconfig_sparc64 # Build took: 0:08:29.954242