2012/6/12, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: > On Fri, 8 Jun 2012 23:15:30 -0400 > Namjae Jeon <linkinjeon@xxxxxxxxx> wrote: > >> The compile warning is caused by __const_hweight8 when using >> hweight_long with -Wsign-compare option. >> The reason is that the default return value of this macro is signed. >> So need type casting to remove warning. > > um, what warning? Hi Andrew. Sorry, I forgot it. When we use hwight_long function, We can see the below warning message. include/linux/bitops.h: In function 'hweight_long': include/linux/bitops.h:49: warning: signed and unsigned type in conditional expression Thanks a lot. > > Please always quote the compiler messages when fixing build warnings or > errors. > >> index fa2a50b..3ad0dae 100644 >> --- a/include/asm-generic/bitops/const_hweight.h >> +++ b/include/asm-generic/bitops/const_hweight.h >> @@ -4,7 +4,7 @@ >> /* >> * Compile time versions of __arch_hweightN() >> */ >> -#define __const_hweight8(w) \ >> +#define __const_hweight8(w) (unsigned long) \ >> ( (!!((w) & (1ULL << 0))) + \ >> (!!((w) & (1ULL << 1))) + \ >> (!!((w) & (1ULL << 2))) + \ > > -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html