iana added inline comments.

================
Comment at: clang/lib/Headers/stddef.h:1
 /*===---- stddef.h - Basic type definitions --------------------------------===
  *
----------------
aaron.ballman wrote:
> ldionne wrote:
> > Making a thread out of this:
> > 
> > > The relationship between clang's stddef.h and the C Standard Library 
> > > stddef.h is that there is no relationship. clang's header doesn't 
> > > #include_next, and it is in the search path before the OS's cstdlib.
> > 
> > So in that case what is the purpose of the SDK/system providing a 
> > `<stddef.h>` header? They basically all provide one and it's never used?
> > 
> The compiler provides `<stddef.h>` for the same reason it provides 
> `<limits.h>` and others: the compiler is responsible for defining these 
> interfaces because it's the only thing that knows the correct definitions it 
> expects. The system might know some of it, but for example, `size_t` relates 
> to the maximum size of an object, which is something only the compiler knows 
> the answer to.
I think the purpose is for the SDK/system to support compilers that don't 
provide `<stddef.h>`. In the early Apple days that was CodeWarrior, maybe gcc 
didn't used to provide that header? I don't know.

But basically yes, they all provide one and it's practically never used.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157757/new/

https://reviews.llvm.org/D157757

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to