1264. quick_exit support for freestanding implementations

Section: 20.5.1.3 [compliance] Status: C++11 Submitter: Alisdair Meredith Opened: 2009-11-12 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [compliance].

View all issues with C++11 status.

Discussion:

Addresses UK 172

This issue is a response to NB comment UK-172

The functions quick_exit and at_quick_exit should be added to the required features of <cstdlib> in a freestanding implementation.

This comment was rejected in Summit saying neither at_exit nor at_quick_exit should be required. This suggests the comment was misread, as atexit is already required to be supported. If the LWG really did wish to not require the registration functions be supported, then a separate issue should be opened to change the current standard.

Given both exit and atexit are required, the UK panel feels it is appropriate to require the new quick_exit facility is similarly supported.

[ 2009-12-11 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]

Proposed resolution:

Ammend p3 Freestanding implementations 20.5.1.3 [compliance]

3 The supplied version of the header <cstdlib> shall declare at least the functions abort(), atexit(), at_quick_exit, and exit(), and quick_exit(21.5 [support.start.term]). The other headers listed in this table shall meet the same requirements as for a hosted implementation.