Re: [PATCH] zlib: Put get_unaligned16() inside #ifdef block

From: Andrew Morton
Date: Mon May 22 2017 - 17:39:30 EST


On Mon, 22 May 2017 14:13:26 -0700 Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote:

> The function is not used when CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y.
> Adding the #ifdef fixes the following warning when building with clang:
>
> lib/zlib_inflate/inffast.c:31:1: error: unused function 'get_unaligned16'
> [-Werror,-Wunused-function]
>
> ...
>
> --- a/lib/zlib_inflate/inffast.c
> +++ b/lib/zlib_inflate/inffast.c
> @@ -26,6 +26,7 @@ union uu {
> unsigned char b[2];
> };
>
> +#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
> /* Endian independed version */
> static inline unsigned short
> get_unaligned16(const unsigned short *p)
> @@ -37,6 +38,7 @@ get_unaligned16(const unsigned short *p)
> mm.b[1] = b[1];
> return mm.us;
> }
> +#endif
>
> #ifdef POSTINC
> # define OFF 0

Do we really want to mucky up the source code to keep clang happy? gcc
won't warn about an unused static inline. Can we configure clang to do
the same?