https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69881
--- Comment #8 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- BTW: the free-standing cstddef is also buggy: #define __need_size_t #define __need_ptrdiff_t #define __need_NULL #define __need_offsetof #include_next <stddef.h> but GCC's stddef.h does not implement __need_offsetof. in the contrary, offsetof is not defined when any of the implemented __need_XXX macros is set. $prefix/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h: #ifdef _STDDEF_H /* Offset of member MEMBER in a struct of type TYPE. */ #define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)