POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stddef.h.html
Portability problems fixed by Gnulib:
unreachable, which was added in C23:
GCC 13, clang 15, AIX with xlc 12.1, Solaris with Sun C 5.15, and others.
max_align_t, which was added in C11:
NetBSD 8.0, Solaris 11.0, and others.
max_align_t does not have the expected alignment on some platforms:
NetBSD 8.0/x86, AIX 7.2 with xlc in 64-bit mode.
NULL macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
NULL macro whose value does not have the size
of a pointer:
AIX 7.2 with xlc in 64-bit mode.
Portability problems not fixed by Gnulib:
nullptr_t,
which Gnulib cannot usefully emulate:
GCC 12, Clang 15, and other pre-2023 C compilers.
nullptr_t even when <stddef.h> is
not included:
GCC 14
offsetof macro that cannot be used in
arbitrary expressions:
Solaris 11.4
This problem can be worked around by parenthesizing the
offsetof expression in the unlikely case you use it with
sizeof or ‘[]’.