bcraig added a comment.

A freestanding implementation doesn't necessarily mean that everything is 
header-only.  It's fine to require linking against a (freestanding) C runtime 
library.  All header-only is fine too though, if you want to make that work.

Architecturally, I don't feel it is required that Clang be the location of all 
the freestanding headers for C.  I think that's fine for the C library in the 
final toolchain to own those headers.  I'm not super familiar with what 
interface contracts you have between the clang-provided C headers and the 
C-library provided C headers though.

> I'm not sure it makes sense to provide a "freestanding" strtok; it requires 
> global state.

I agree with this, but the C committee felt otherwise.  C++26 freestanding is 
most likely including strtok too, to stay consistent with C (the freestanding C 
library paper is through LWG and awaiting a C++26 plenary vote).  It shouldn't 
be hard to implement in an OS-independent way, but it will be a low quality 
implementation with cross-thread races.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D144889

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

Reply via email to