Re: [gustavoars-linux:for-next/clang-fallthrough 1/1] warning: fallthrough annotation in unreachable code/

From: Nathan Chancellor
Date: Thu Aug 05 2021 - 15:04:52 EST


On Thu, Aug 05, 2021 at 02:21:34PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/clang-fallthrough
> head: 58d0d2d2e7dc1b1a4997bb9c47d6cf428f2d3a00
> commit: 58d0d2d2e7dc1b1a4997bb9c47d6cf428f2d3a00 [1/1] Revert "Revert "Makefile: Enable -Wimplicit-fallthrough for Clang""
> config: hexagon-randconfig-r023-20210804 (attached as .config)
> compiler: clang version 12.0.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/?id=58d0d2d2e7dc1b1a4997bb9c47d6cf428f2d3a00
> git remote add gustavoars-linux https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
> git fetch --no-tags gustavoars-linux for-next/clang-fallthrough
> git checkout 58d0d2d2e7dc1b1a4997bb9c47d6cf428f2d3a00
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=hexagon
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All warnings (new ones prefixed by >>):
>
> >> warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough]
> >> warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough]
> 2 warnings generated.

With a newer version of clang that shows proper line numbers:

sound/core/pcm_native.c:3812:3: warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough]
fallthrough;
^
include/linux/compiler_attributes.h:211:41: note: expanded from macro 'fallthrough'
# define fallthrough __attribute__((__fallthrough__))
^
sound/core/pcm_native.c:3820:3: warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough]
fallthrough;
^
include/linux/compiler_attributes.h:211:41: note: expanded from macro 'fallthrough'
# define fallthrough __attribute__((__fallthrough__))
^
2 warnings generated.

Which is already being tracked: https://github.com/ClangBuiltLinux/linux/issues/1429

Cheers,
Nathan