Created on 2017-11-12.00:00:00 last changed 46 months ago
Proposed resolution:
This wording is relative to N4700 + P0767R1.
Change in [support.types.layout] paragraph 5:
The type max_align_t is a trivial standard-layout type whose alignment requirement is at least as great as that of every scalar type, and whose alignment requirement is supported in every context ([basic.align]).
Change the table in [meta.trans.other] as indicated:
aligned_storage
The member typedef type shall be a trivial standard-layout
type suitable for use as uninitialized storage for any object whose size is at
most Len and whose alignment is a divisor of Align.
aligned_union
The member typedef type shall be a trivial standard-layout
type suitable for use as uninitialized storage for any object whose type is listed
in Types; its size shall be at least Len.
Change [strings.general] paragraph 1 as indicated:
This Clause describes components for manipulating sequences of any non-array trivial standard-layout ([basic.types]) type. Such types are called char-like types, and objects of char-like types are called char-like objects or simply characters.
[ 2018-3-17 Adopted in Jacksonville ]
[ 2017-11-14 Moved to Tentatively Ready after 8 positive votes for P0 on c++std-lib. ]
P0767R1 "Expunge POD" changed the requirement for several library types from "POD" to "trivial." Since these types no longer provide/require the standard-layout portion of "POD," the change breaks:
The fix is straight-forward: apply an additional standard-layout requirement to the affected types:
History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-25 10:48:01 | admin | set | status: wp -> c++20 |
2018-03-18 16:03:30 | admin | set | messages: + msg9747 |
2018-03-18 16:03:30 | admin | set | status: voting -> wp |
2018-02-12 01:13:49 | admin | set | status: ready -> voting |
2017-11-17 21:23:09 | admin | set | messages: + msg9562 |
2017-11-17 21:23:09 | admin | set | status: new -> ready |
2017-11-13 05:55:21 | admin | set | messages: + msg9548 |
2017-11-12 00:00:00 | admin | create |