git: 2e783ea70a7a - main - stddef.h: don't include sys/cdefs.h
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Jun 2025 17:00:24 UTC
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=2e783ea70a7a1aa0bec116451d70abd8cf05ce42 commit 2e783ea70a7a1aa0bec116451d70abd8cf05ce42 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2025-06-11 16:39:02 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2025-06-11 16:39:02 +0000 stddef.h: don't include sys/cdefs.h Switch to sys/_visible.h for visibility macros. Prefer __builtin_offsetof over __offset. sys/cdefs.h always defines __offsetof to __builtin_offsetof so just use the latter to remove a dependency on sys/cdefs.h. Realistically, we're never going to care about a compiler that doesn't supply this builtin. Add a somewhat questionable guard around the offsetof() definition because the compiler no longer thinks it the same as a number of other redundent definitions scattered around (e.g., in the openzfs codebase). It is actually the same and those defintions likely shouldn't exist at all, but it's easy to add a guard for now. Reviewed by: imp Exp-run by: antoine (PR 286274) Pull Request: https://github.com/freebsd/freebsd-src/pull/1595 --- include/stddef.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/stddef.h b/include/stddef.h index 2255ea47a49a..3ba9a9946b01 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -32,9 +32,9 @@ #ifndef _STDDEF_H_ #define _STDDEF_H_ -#include <sys/cdefs.h> #include <sys/_null.h> #include <sys/_types.h> +#include <sys/_visible.h> #ifndef _PTRDIFF_T_DECLARED typedef __ptrdiff_t ptrdiff_t; @@ -61,7 +61,9 @@ typedef __max_align_t max_align_t; #endif #endif -#define offsetof(type, field) __offsetof(type, field) +#ifndef offsetof +#define offsetof(type, field) __builtin_offsetof(type, field) +#endif #if __EXT1_VISIBLE /* ISO/IEC 9899:2011 K.3.3.2 */