Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Sep 2015 07:30:45 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r288258 - head/sys/sys
Message-ID:  <201509260730.t8Q7UjsJ019502@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Sat Sep 26 07:30:45 2015
New Revision: 288258
URL: https://svnweb.freebsd.org/changeset/base/288258

Log:
  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

Modified:
  head/sys/sys/types.h

Modified: head/sys/sys/types.h
==============================================================================
--- head/sys/sys/types.h	Sat Sep 26 07:25:53 2015	(r288257)
+++ head/sys/sys/types.h	Sat Sep 26 07:30:45 2015	(r288258)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509260730.t8Q7UjsJ019502>