On Mon, Sep 06, 2021 at 11:52:18PM +0200, Jakub Jelinek wrote: > On Mon, Sep 06, 2021 at 02:08:58PM -0700, Linus Torvalds wrote: > There is a stddef.h include too and that's it > (I must say I don't see the reason for that include though). Yeah me neither. Maybe the header used NULL before? > Other compiler provided headers (not talking about C++ now) also have no > or very limited includes, including stddef.h, stdarg.h, stdatomic.h, etc. > The only exceptions are tgmath.h which isn't usable without libc > math.h/complex.h, <tgmath.h> is only for hosted environments. That requires a C library for GCC (we do not implement this stuff ourselves). The compiler and the C library have to work together to get this done, and the relation between GCC and Glibc has been a bit too tight for this, it is true. But a kernel build is not in a hosted environment. > in some cases stdint.h and limits.h which are in some > configurations provided both by the C library and the compiler and include > each other in that case (but e.g. stdint.h has an alternate version that > only uses compiler provided builtin macros) and openacc.h. On what targets is <stdint.h> still problematic? And <limits.h>? Segher