Browse Source

[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>
Jesse Millan 20 năm trước cách đây
mục cha
commit
8d224d32c2
1 tập tin đã thay đổi với 1 bổ sung2 xóa
  1. 1 2
      include/asm-x86_64/bitops.h

+ 1 - 2
include/asm-x86_64/bitops.h

@@ -348,8 +348,7 @@ static inline int sched_find_first_bit(const unsigned long *b)
 		return __ffs(b[0]);
 	if (b[1])
 		return __ffs(b[1]) + 64;
-	if (b[2])
-		return __ffs(b[2]) + 128;
+	return __ffs(b[2]) + 128;
 }
 
 /**