svn commit: r360983 - head/include

Konstantin Belousov kib at FreeBSD.org
Tue May 12 18:12:20 UTC 2020


Author: kib
Date: Tue May 12 18:12:20 2020
New Revision: 360983
URL: https://svnweb.freebsd.org/changeset/base/360983

Log:
  Clear namespace pollution in include/malloc_np.h
  
  Do not include stdbool.h, it makes the header incompatible with some
  third-party code that typedefs bool manually.
  Remove inclusion of strings.h, which typically conflicts with the use
  of symbol 'index'.
  Separate inclusion of sys/cdefs.h is not needed because sys/types.h
  already handles that.
  
  Exp-run by:	antoine (PR 245366)
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week
  Differential revision:	https://reviews.freebsd.org/D24297

Modified:
  head/include/malloc_np.h

Modified: head/include/malloc_np.h
==============================================================================
--- head/include/malloc_np.h	Tue May 12 17:18:44 2020	(r360982)
+++ head/include/malloc_np.h	Tue May 12 18:12:20 2020	(r360983)
@@ -33,29 +33,33 @@
 
 #ifndef _MALLOC_NP_H_
 #define	_MALLOC_NP_H_
-#include <sys/cdefs.h>
+
 #include <sys/types.h>
-#include <stdbool.h>
-#include <strings.h>
 
+#ifdef __cplusplus
+#define	__MyBool	bool
+#else
+#define	__MyBool	_Bool
+#endif
+
 __BEGIN_DECLS
 typedef struct extent_hooks_s extent_hooks_t;
-typedef void *(extent_alloc_t)(extent_hooks_t *, void *, size_t, size_t, bool *,
-    bool *, unsigned);
-typedef bool (extent_dalloc_t)(extent_hooks_t *, void *, size_t, bool,
+typedef void *(extent_alloc_t)(extent_hooks_t *, void *, size_t, size_t,
+    __MyBool *, __MyBool *, unsigned);
+typedef __MyBool (extent_dalloc_t)(extent_hooks_t *, void *, size_t, __MyBool,
     unsigned);
-typedef void (extent_destroy_t)(extent_hooks_t *, void *, size_t, bool,
+typedef void (extent_destroy_t)(extent_hooks_t *, void *, size_t, __MyBool,
     unsigned);
-typedef bool (extent_commit_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
-    unsigned);
-typedef bool (extent_decommit_t)(extent_hooks_t *, void *, size_t, size_t,
+typedef __MyBool (extent_commit_t)(extent_hooks_t *, void *, size_t, size_t,
     size_t, unsigned);
-typedef bool (extent_purge_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
+typedef __MyBool (extent_decommit_t)(extent_hooks_t *, void *, size_t, size_t,
+    size_t, unsigned);
+typedef __MyBool (extent_purge_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
     unsigned);
-typedef bool (extent_split_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
-    bool, unsigned);
-typedef bool (extent_merge_t)(extent_hooks_t *, void *, size_t, void *, size_t,
-    bool, unsigned);
+typedef __MyBool (extent_split_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
+    __MyBool, unsigned);
+typedef __MyBool (extent_merge_t)(extent_hooks_t *, void *, size_t, void *, size_t,
+    __MyBool, unsigned);
 struct extent_hooks_s {
 	extent_alloc_t		*alloc;
 	extent_dalloc_t		*dalloc;
@@ -119,5 +123,7 @@ void	__dallocx(void *ptr, int flags);
 void	__sdallocx(void *ptr, size_t size, int flags);
 size_t	__nallocx(size_t size, int flags);
 __END_DECLS
+
+#undef __MyBool
 
 #endif /* _MALLOC_NP_H_ */


More information about the svn-src-all mailing list