2241. <cstdalign> and #define of alignof

Section: 17.13 [support.runtime] Status: Resolved Submitter: Richard Smith Opened: 2013-02-14 Last modified: 2020-09-06

Priority: 2

View all other issues in [support.runtime].

View all issues with Resolved status.

Discussion:

According to 17.13 [support.runtime] p2:

The contents of these headers are the same as the Standard C library headers [..], <stdalign.h>, [..]

Since our base C standard is C99, which doesn't have a <stdalign.h>, the reference to a non-existing C header is irritating (In this context <stdalign.h> doesn't refer to the deprecated C++ header <stdalign.h> described in [depr.c.headers]).

Furthermore, it would be also important that it doesn not define a macro named alignof, which C11 also defines in this header.

Currently we only have the following guarantee as part of 17.13 [support.runtime] p7:

The header <cstdalign> and the header <stdalign.h> shall not define a macro named alignas.

It is unclear what the better strategy is: Striking the reference to <stdalign.h> in 17.13 [support.runtime] p2 or upgrading to C11 as new base C standard.

[2014-02-15 Issaquah]

STL: related to earlier issue on C4, 2201, and now we get a C11 header
JY: find _Alignof as keyword C11 FDIS has four defines in stdalign.h
AM: need paper for C11 as base library we should really do that
STL: really need vendor input
STL: don't think we need to do anything right now not P1
AM: any objections to downscale to P2 (no objections)

[2016-03 Jacksonville]

Walter: this is on track to go away if we adopt Clark's paper to rebase to C11
Room: tentatively resolved; revisit after C11 paper: P0063

[2016-03 Oulu]

P0063 was adopted.

Change status to Tentatively Resolved

Proposed resolution: