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

lib/clz_ctz.c: add prototype declarations in lib/clz_ctz.c

Add prototype declarations of functions in lib/clz_ctz.c. These
functions are required by GCC builtins and hence can not be removed
despite of their unreferenced appearance in kernel source.

This eliminates the following warning in lib/clz_ctz.c:

lib/clz_ctz.c:16:12: warning: no previous prototype for `__ctzsi2' [-Wmissing-prototypes]
lib/clz_ctz.c:22:12: warning: no previous prototype for `__clzsi2' [-Wmissing-prototypes]
lib/clz_ctz.c:44:12: warning: no previous prototype for `__clzdi2' [-Wmissing-prototypes]
lib/clz_ctz.c:50:12: warning: no previous prototype for `__ctzdi2' [-Wmissing-prototypes]

Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Chanho Min <chanho.min@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Rashika Kheria and committed by
Linus Torvalds
3c516cdd d3d47eb2

+7
+7
lib/clz_ctz.c
··· 6 6 * This program is free software; you can redistribute it and/or modify 7 7 * it under the terms of the GNU General Public License version 2 as 8 8 * published by the Free Software Foundation. 9 + * The functions in this file aren't called directly, but are required by 10 + * GCC builtins such as __builtin_ctz, and therefore they can't be removed 11 + * despite appearing unreferenced in kernel source. 9 12 * 10 13 * __c[lt]z[sd]i2 can be overridden by linking arch-specific versions. 11 14 */ ··· 16 13 #include <linux/export.h> 17 14 #include <linux/kernel.h> 18 15 16 + int __weak __ctzsi2(int val); 19 17 int __weak __ctzsi2(int val) 20 18 { 21 19 return __ffs(val); 22 20 } 23 21 EXPORT_SYMBOL(__ctzsi2); 24 22 23 + int __weak __clzsi2(int val); 25 24 int __weak __clzsi2(int val) 26 25 { 27 26 return 32 - fls(val); 28 27 } 29 28 EXPORT_SYMBOL(__clzsi2); 30 29 30 + int __weak __clzdi2(long val); 31 + int __weak __ctzdi2(long val); 31 32 #if BITS_PER_LONG == 32 32 33 33 34 int __weak __clzdi2(long val)