[compliance] (original) (raw)
16 Library introduction [library]
16.4 Library-wide requirements [requirements]
16.4.2 Library contents and organization [organization]
16.4.2.4 Freestanding implementations [compliance]
Two kinds of implementations are defined:hosted and freestanding ([intro.compliance]); the kind of the implementation isimplementation-defined.
For a hosted implementation, this document describes the set of available headers.
A freestanding implementation has animplementation-defined set of headers.
This set shall include at least the headers shown in Table 24.
The supplied version of the header shall declare at least the functionsabort,atexit,at_quick_exit,exit, andquick_exit ([support.start.term]).
The supplied version of the header shall meet the same requirements as for a hosted implementation except that support for always lock-free integral atomic types ([atomics.lockfree]) is implementation-defined, and whether or not the type aliases atomic_signed_lock_free andatomic_unsigned_lock_free are defined ([atomics.alias]) is implementation-defined.
The other headers listed in this table shall meet the same requirements as for a hosted implementation.