RE: [PATCH] asm-generic: fix ffs -Wshadow warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Arnd Bergmann
> Sent: 26 October 2020 16:00
> 
> From: Arnd Bergmann <arnd@xxxxxxxx>
> 
> gcc -Wshadow warns about the ffs() definition that has the
> same name as the global ffs() built-in:
> 
> include/asm-generic/bitops/builtin-ffs.h:13:28: warning: declaration of 'ffs' shadows a built-in
> function [-Wshadow]
> 
> This is annoying because 'make W=2' warns every time this
> header gets included.
> 
> Change it to use a #define instead, making callers directly
> reference the builtin.
> 
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
>  include/asm-generic/bitops/builtin-ffs.h | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/include/asm-generic/bitops/builtin-ffs.h b/include/asm-generic/bitops/builtin-ffs.h
> index 458c85ebcd15..1dacfdb4247e 100644
> --- a/include/asm-generic/bitops/builtin-ffs.h
> +++ b/include/asm-generic/bitops/builtin-ffs.h
> @@ -10,9 +10,6 @@
>   * the libc and compiler builtin ffs routines, therefore
>   * differs in spirit from the above ffz (man ffs).
>   */
> -static __always_inline int ffs(int x)
> -{
> -	return __builtin_ffs(x);
> -}
> +#define ffs(x) __builtin_ffs(x)
> 
>  #endif
> --
> 2.27.0

An alternative would be to add #define ffs(x) our_inline_ffs(x)
before the inline function definition.

I though the idea of the __builtin_ prefix was that you could
have a function with the same name :-(

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)





[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux