Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] x86_64: Fix gcc 4 warning in sched_find_first_bit

This patch eliminates the GCC4 warning on the x86_64 platform:

kernel/sched.c:1824: warning: control may reach end of non-void function
'sched_find_first_bit' being inlined.

The change follows the lead of others, i.e. it is guaranteed that at least
one of b[0], b[1], or b[2] will have a bit set and evaluate to true. That
being said, GCC4.0.0 notices that the code flow does not return anything if
b[0], b[1] and b[2] are not true. Since we know better, if it's not b[0] or
b[1], it has to be b[2].

Signed-off-by: Jesse Millan <jessem@cs.pdx.edu>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Jesse Millan and committed by
Linus Torvalds
8d224d32 07291d43

+1 -2
+1 -2
include/asm-x86_64/bitops.h
··· 348 348 return __ffs(b[0]); 349 349 if (b[1]) 350 350 return __ffs(b[1]) + 64; 351 - if (b[2]) 352 - return __ffs(b[2]) + 128; 351 + return __ffs(b[2]) + 128; 353 352 } 354 353 355 354 /**