svn commit: r360983 - head/include
Conrad Meyer
cem at freebsd.org
Tue May 12 18:39:31 UTC 2020
Why not just use _Bool and leave the compatibility definition only for
C++ (#define _Bool bool)?
On Tue, May 12, 2020 at 11:12 AM Konstantin Belousov <kib at freebsd.org> wrote:
>
> 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-head
mailing list