Since glibc 2.27, they are visible via _DEFAULT_SOURCE (__USE_MISC):
https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man3/ffs.3?id=
247bbcf00c9a425ab0ad6e303ec8718e4ba844a6
In FreeBSD, they are guarded by __BSD_VISIBLE.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
#if __MISC_VISIBLE || __POSIX_VISIBLE < 200809 || __XSI_VISIBLE >= 700
int ffs(int) __pure2;
#endif
-#if __GNU_VISIBLE
+#if __BSD_VISIBLE
int ffsl(long) __pure2;
int ffsll(long long) __pure2;
-#endif
-#if __BSD_VISIBLE
int fls(int) __pure2;
int flsl(long) __pure2;
int flsll(long long) __pure2;