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_ */
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to