What portion of the standard library do you consider unimplementable on
many systems?
Me? Not sure. Some folks, however, seem to think there's a problem, so
they created this weird little notion of a "freestanding implementation",
one which isn't required to support largish portions of the standard
library, apparently due to some weird view that, oh, fopen and its kin
aren't really implementable on a Coke machine or an ABS control system.
You know, systems where C can run.
Hence the comment: if "all" is the byword, why are these systems given an
"out"? Last I checked, they qualified as part of "all". So do we remove
the nonsense about freestanding implementations, under the argument that
a function must be implementable by _all_ systems capable of running C
(and thus making freestanding implementations irrelevant; they either
_can_ support every function, or they cannot run C), or do we scrap the
notion of "all", admitting that some things really aren't supportable on
all systems capable of running C? If the latter, the argument provided
against the non-busy-wait fails. Or do we scrap the bits of the standard
which aren't implementable?
Which functions, though? Hmm. Good question. Can a C program be
implemented on a ROM? If so, we might have to eliminate memset, memcpy,
strcpy, strcat and the like, as these won't - can't - function as
expected. Hard to to a memset when the memory you're trying to write is
read-only.
Just a start. I'm sure a little clever thinking will find many more
functions which cannot be implemented on *all* systems capable of running
C.