__alignof_is_defined
is only implicitly specified in C++ and not yet deprecatedSection: D.11 [depr.c.macros] Status: WP Submitter: Jiang An Opened: 2024-01-12 Last modified: 2024-11-01
Priority: Not Prioritized
View all issues with WP status.
Discussion:
Currently 17.14.4 [stdalign.h.syn] states
The contents of the C++ header
See also: ISO/IEC 9899:2018, 7.15<stdalign.h>
are the same as the C standard library header<stdalign.h>
, with the following changes: The header<stdalign.h>
does not define a macro namedalignas
.
which implicitly specifies that __alignof_is_defined
is also provided in C++, because C17
specified that the macro is provided in <stdaligh.h>
.
__alignof_is_defined
in the C++ standard wording.
And D.11 [depr.c.macros]/1 (added by LWG 3827) seemingly contradicts with
17.14.4 [stdalign.h.syn] and only makes __alignas_is_defined
deprecated.
It seems that we should explicitly mention __alignof_is_defined
in D.11 [depr.c.macros]
at this moment.
[2024-03-12; Reflector poll]
Set status to Tentatively Ready after seven votes in favour during reflector poll.
[Tokyo 2024-03-23; Status changed: Voting → WP.]
[2024-10-22; Note: this should have been handled by LWG 2241 but that issue was closed as Resolved without properly resolving it.]
Proposed resolution:
This wording is relative to N4971.
Modify D.11 [depr.c.macros] as indicated:
-1- The header
<stdalign.h>
has the following macros:#define __alignas_is_defined 1 #define __alignof_is_defined 1