On Mon, Sep 28, 2020 at 11:55:08PM +1000, G. Branden Robinson wrote: > Hi, Alex! > > At 2020-09-28T15:48:14+0200, Alejandro Colomar wrote: > > > Where does this arbitrary-looking list of headers come from? > > > > There are two parts: left to the ';', and right to the ';'. > > > > Left: The canonical C standard header, and the canonical POSIX header, > > in alphabetical order. > > > > Right: All other headers that shall define the header, according to > > either the C or the POSIX standards, in alphabetical order. To clarify, does POSIX _guarantee_ that all of those headers define this type? (I admit I'm too lazy to search through the POSIX standard for an answer to this). If not, this list would serve only to legitimise bad habits and it may be better to leave it out. > That's not a bad scheme but it is not inferable from the current man > page text; I almost commented on the inconsistency in one of my earlier > messages but deemed it out of scope. Please document it, perhaps in an > introductory paragraph at the top of the Description section. Ack, I think it would be better to state this explicity rather than having some terse syntax that people need to understand. IIUC, a program intended to be fully portable between C implementations must include <stddef.h>, not rely on one of the others. (In practice it seems reasonable to include any header that is specified to declare types or function prototypes that themselves require a definition of size_t, but this is awkward to describe, and not explicit in the standard.) [...] Cheers ---Dave