Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

lib/zlib_inflate/inffast: check config in C to avoid unused function warning

Building Linux for ppc64le with Ubuntu clang version
12.0.0-3ubuntu1~21.04.1 shows the warning below.

arch/powerpc/boot/inffast.c:20:1: warning: unused function 'get_unaligned16' [-Wunused-function]
get_unaligned16(const unsigned short *p)
^
1 warning generated.

Fix it by moving the check from the preprocessor to C, so the compiler
sees the use.

Link: https://lkml.kernel.org/r/20210920084332.5752-1-pmenzel@molgen.mpg.de
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Zhen Lei <thunder.leizhen@huawei.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Paul Menzel and committed by
Linus Torvalds
b7cd9fa5 ebaeab2f

+6 -7
+6 -7
lib/zlib_inflate/inffast.c
··· 253 253 254 254 sfrom = (unsigned short *)(from); 255 255 loops = len >> 1; 256 - do 257 - #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 258 - *sout++ = *sfrom++; 259 - #else 260 - *sout++ = get_unaligned16(sfrom++); 261 - #endif 262 - while (--loops); 256 + do { 257 + if (IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)) 258 + *sout++ = *sfrom++; 259 + else 260 + *sout++ = get_unaligned16(sfrom++); 261 + } while (--loops); 263 262 out = (unsigned char *)sout; 264 263 from = (unsigned char *)sfrom; 265 264 } else { /* dist == 1 or dist == 2 */