Re: linux-next: Tree for Jun 20 (hweight return type)
From: Randy Dunlap
Date: Wed Jun 20 2012 - 21:10:47 EST
On 06/20/2012 12:35 AM, Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20120619:
Someone changes the return type of __const_hweight8() to
(unsigned long). That causes printk format warnings when
hweight8/16() etc. is passed a constant:
drivers/input/joystick/analog.c:412:4: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int'
drivers/input/joystick/analog.c:412:4: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'
drivers/input/joystick/analog.c:416:5: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'
Note that in
#define hweight8(w) (__builtin_constant_p(w) ? __const_hweight8(w) : __arch_hweight8(w))
__arch_hweight*() still returns unsigned int while __const_hweight*()
returns unsigned long. This can't be good, can it?
--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/