aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2015-09-26 07:30:45 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2015-09-26 07:30:45 +0000
commit873a0bd675295dddb4e520112375874eed9a09b6 (patch)
tree65607e0f296479ec33bdd7aae010b1f49e8f4482 /sys
parent74d7b9a8326d6135da3cc0eac470fed814dc19d0 (diff)
downloadsrc-873a0bd675295dddb4e520112375874eed9a09b6.tar.gz
src-873a0bd675295dddb4e520112375874eed9a09b6.zip
Make the __bitcount*() functions unconditionally available, by moving
them out of the #if _BSD_VISIBLE block. Other headers may depend on __bitcount(). The dependencies can be a header not specified by POSIX, and then namespace restrictions by _XOPEN_SOURCE are not applicable, as it was reported. Or, we might grow an implementation of some POSIX facility using __bitcount(), which also should work. Reported by: Jason Schulz <schulz.j@gmail.com> Discussed with: jhb Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=288258
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/types.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/sys/types.h b/sys/sys/types.h
index 4a66a4eb20b6..4dfd8ef19b4d 100644
--- a/sys/sys/types.h
+++ b/sys/sys/types.h
@@ -290,9 +290,6 @@ typedef _Bool bool;
* The following are all things that really shouldn't exist in this header,
* since its purpose is to provide typedefs, not miscellaneous doodads.
*/
-#if __BSD_VISIBLE
-
-#include <sys/select.h>
#ifdef __POPCNT__
#define __bitcount64(x) __builtin_popcountll((__uint64_t)(x))
@@ -356,6 +353,10 @@ __bitcount64(__uint64_t _x)
#define __bitcount(x) __bitcount32((unsigned int)(x))
#endif
+#if __BSD_VISIBLE
+
+#include <sys/select.h>
+
/*
* minor() gives a cookie instead of an index since we don't want to
* change the meanings of bits 0-15 or waste time and space shifting