Defect Report #093

Submission Date: 03 Dec 93
Submittor: WG14
Source: Clive Feather
Question
Item 30 - reservation of identifiers
Can a conforming freestanding implementation reserve identifiers? Subclause 5.1.2.1 states that only one identifier (the equivalent of main) is reserved in a freestanding implementation. Subclause 7.1.3 states that certain identifiers are reserved, even when the corresponding headers are not included. This is a direct contradiction.
Response
The Committee observes that conforming freestanding implementations tend to vary widely in the library facilities provided, and that the simple binary choice implied by the above text is really a continuum. It also notes that it is difficult to provide a C implementation with no reserved names (not even those beginning with two underscores). It is therefore felt to be unreasonable to restrict the names available to implementors of freestanding implementations compared with hosted implementations.
The Committee notes that certain freestanding programs (such as UNIX kernels) have tended to use names such as exit, but agrees that existing practice dictates that the authors of such programs must already be prepared to change such names when using certain compilers.
Correction
In subclause 5.1.2.1, page 6, delete:
There are otherwise no reserved external identifiers.
Previous Defect Report < - > Next Defect Report