[ovs-dev] new "sparse" warning

Jarno Rajahalme jrajahalme at nicira.com
Mon Dec 9 20:52:23 UTC 2013


Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>

On Dec 7, 2013, at 10:48 AM, Ben Pfaff <blp at nicira.com> wrote:

> Building with GCC 4.7 without __corei7:
> 
>    ../lib/util.c:921:15: warning: symbol 'count_1bits_8' was not declared. Should it be static?
> 
> Here is one possible fix, but perhaps you prefer a different one.
> 
> diff --git a/lib/util.h b/lib/util.h
> index 7c5eacb..8d810c2 100644
> --- a/lib/util.h
> +++ b/lib/util.h
> @@ -371,6 +371,8 @@ log_2_ceil(uint64_t n)
>     return log_2_floor(n) + !is_pow2(n);
> }
> 
> +extern const uint8_t count_1bits_8[256];
> +
> /* Returns the number of 1-bits in 'x', between 0 and 32 inclusive. */
> static inline unsigned int
> count_1bits_32(uint32_t x)
> @@ -379,7 +381,6 @@ count_1bits_32(uint32_t x)
>     /* __builtin_popcount() is fast only when supported by the CPU. */
>     return __builtin_popcount(x);
> #else
> -    extern const uint8_t count_1bits_8[256];
>     /* This portable implementation is the fastest one we know of for 32 bits,
>      * and faster than GCC __builtin_popcount(). */
>     return (count_1bits_8[x & 0xff] +




More information about the dev mailing list