https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69881
--- Comment #2 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Something like that might be needed? Index: c_global/cstddef =================================================================== --- c_global/cstddef (Revision 233574) +++ c_global/cstddef (Arbeitskopie) @@ -41,6 +41,13 @@ #pragma GCC system_header +#if defined(__need_wchar_t) || defined(__need_size_t) \ + || defined(__need_ptrdiff_t) || defined(__need_NULL) \ + || defined(__need_wint_t) + +#include <stddef.h> + +#else #include <bits/c++config.h> #include <stddef.h> @@ -51,5 +58,6 @@ using ::max_align_t; } #endif +#endif #endif // _GLIBCXX_CSTDDEF Index: c_std/cstddef =================================================================== --- c_std/cstddef (Revision 233574) +++ c_std/cstddef (Arbeitskopie) @@ -41,6 +41,13 @@ #pragma GCC system_header +#if defined(__need_wchar_t) || defined(__need_size_t) \ + || defined(__need_ptrdiff_t) || defined(__need_NULL) \ + || defined(__need_wint_t) + +#include <stddef.h> + +#else #include <bits/c++config.h> #include <stddef.h> @@ -51,5 +58,6 @@ using ::max_align_t; } #endif +#endif #endif // _GLIBCXX_CSTDDEF Question: why are the both files different? diff c_global/cstddef c_std/cstddef 26c26 < * This is a Standard C++ Library file. You should @c \#include this file --- > * This is a Standard C++ Library file. You should @c #include this file