Title
Clarify <cstdalign> (following adoption of P0063r3)
Status
nad editorial
Section
[meta.unary.prop]
Submitter
Thomas Koeppe

Created on 2016-11-20.00:00:00 last changed 95 months ago

Messages

Date: 2017-01-27.00:00:00

[ 2017-01-27 Telecon ]

NAD Editorial; Thomas will make the editorial changes (option 2B)

Date: 2016-11-20.00:00:00

In Oulu, we adopted P0063r3 to base C++ on C11. C11 is the first version of C that defines a header <stdalign.h>. However, C++11 (!) already seems to have defined headers <cstdalign> and <stdalign.h>, even though C99 does not have <stdalign.h>.

This appears to be the consequence of the partial application of N3093 from 2010, which proposes both to add <cstdalign> and to rebase C++ onto C11. However, the latter part didn't happen, leaving the header dangling without a sensible specification.

I suggest two actions:

  1. 1) Recognize that C++11 and C++14 are defective in mentioning <cstdalign> and <stdalign.h>.
  2. 2a) Consequently, P0063r3 is adding <cstdalign> as a new feature; I would like to revert that decision and not add this header. Instead, P0063r3 should only add <stdalign.h> (which should be done in Annex D) for compatibility with C.
  3. 2b) If we do not want to un-add <cstdalign>, we should at least put the specification of <cstdalign> into Annex D.

Moreover, I would like to ask LWG for editorial dispensation to move the specifications of <ccomplex>, <ctgmath> and <cstdbool> wholly into Annex D, too, since these are now deprecated features that are not otherwise referred to or needed by the main text. An example change is available on github, which incorporates solution 2b. Wording for solution 2a can be produced on request.

History
Date User Action Args
2017-01-30 15:17:53adminsetmessages: + msg8806
2017-01-30 15:17:53adminsetstatus: new -> nad editorial
2016-11-20 00:00:00admincreate