On Mon, Sep 20, 2021 at 10:43:33AM +0200, Paul Menzel wrote: > 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. > > Signed-off-by: Paul Menzel <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]> Tested-by: Nathan Chancellor <[email protected]> > --- > v2: Use IS_ENABLED > v3: Use if statement over ternary operator as requested by Christophe > > lib/zlib_inflate/inffast.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/lib/zlib_inflate/inffast.c b/lib/zlib_inflate/inffast.c > index f19c4fbe1be7..2843f9bb42ac 100644 > --- a/lib/zlib_inflate/inffast.c > +++ b/lib/zlib_inflate/inffast.c > @@ -253,13 +253,12 @@ void inflate_fast(z_streamp strm, unsigned start) > > sfrom = (unsigned short *)(from); > loops = len >> 1; > - do > -#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS > - *sout++ = *sfrom++; > -#else > - *sout++ = get_unaligned16(sfrom++); > -#endif > - while (--loops); > + do { > + if > (IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)) > + *sout++ = *sfrom++; > + else > + *sout++ = get_unaligned16(sfrom++); > + } while (--loops); > out = (unsigned char *)sout; > from = (unsigned char *)sfrom; > } else { /* dist == 1 or dist == 2 */ > -- > 2.33.0 >
