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
This commit is contained in:
parent
a96b01fd6f
commit
278a90b919
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user