Title
__alignof_is_defined is only implicitly specified in C++ and not yet deprecated
Status
wp
Section
[depr.c.macros]
Submitter
Jiang An

Created on 2024-01-12.00:00:00 last changed 1 month ago

Messages

Date: 2024-11-01.10:04:47

Proposed resolution:

This wording is relative to N4971.

  1. Modify [depr.c.macros] as indicated:

    -1- The header <stdalign.h> has the following macros:

    #define __alignas_is_defined 1
    #define __alignof_is_defined 1
    
Date: 2024-10-15.00:00:00

[ 2024-10-22; Note: this should have been handled by LWG 2241 but that issue was closed as Resolved without properly resolving it. ]

Date: 2024-04-02.10:29:12

[ Tokyo 2024-03-23; Status changed: Voting → WP. ]

Date: 2024-03-15.00:00:00

[ 2024-03-12; Reflector poll ]

Set status to Tentatively Ready after seven votes in favour during reflector poll.

Date: 2024-01-12.00:00:00

Currently [stdalign.h.syn] states

The contents of the C++ header <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 named alignas.

See also: ISO/IEC 9899:2018, 7.15

which implicitly specifies that __alignof_is_defined is also provided in C++, because C17 specified that the macro is provided in <stdaligh.h>.

However, there's no explicit mentioning of __alignof_is_defined in the C++ standard wording. And [depr.c.macros]/1 (added by LWG 3827) seemingly contradicts with [stdalign.h.syn] and only makes __alignas_is_defined deprecated.

It seems that we should explicitly mention __alignof_is_defined in [depr.c.macros] at this moment.

History
Date User Action Args
2024-11-01 10:04:47adminsetmessages: + msg14445
2024-04-02 10:29:12adminsetmessages: + msg14044
2024-04-02 10:29:12adminsetstatus: voting -> wp
2024-03-18 09:32:04adminsetstatus: ready -> voting
2024-03-12 00:50:28adminsetmessages: + msg13992
2024-03-12 00:50:28adminsetstatus: new -> ready
2024-01-14 07:43:07adminsetmessages: + msg13916
2024-01-12 00:00:00admincreate