atomic_ typedefsSection: 32.5 [atomics] Status: NAD Submitter: BSI Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [atomics].
View all issues with NAD status.
Discussion:
Addresses GB-129
Table 143 lists the typedefs for various atomic types
corresponding to the various standard integer typedefs,
such as atomic_int_least8_t for int_least8_t, and
atomic_uint_fast64_t for uint_fast64_t. However, there are
no atomic typedefs corresponding to the fixed-size
standard typedefs int8_t, int16_t, and so forth.
[ 2010-10-24 Daniel adds: ]
Accepting n3164 would solve this issue.
[ 2011-02-15 Anthony corrects numbering/naming for N3225, Howard suggests improvement for the position of '(optional)', Daniel reorders rows in harmony to remaining entries and suggests specific optionality comments: ]
[2011-02-16 Reflector discussion]
Moved to Tentatively Ready after 5 votes.
[2011-03-16: Hans reopenes and comments]
WG14 briefly discussed LWG 1456. It turns out that they had previously made a conscious decision not to make a similar change. If C++ would deviate, this would introduce a C divergence.
We should reopen the issue and, in my opinion, probably resolve it as NAD instead. This is in a part of the standard that is there mostly for C compatibility, so introducing divergence here seems to make no sense.[2011-03-24 Madrid]
Rationale:
WG14 does not require these typedefs, and we see no reason to be gratuitously different.
Proposed resolution:
Add the following entries to table 143:
Table 146 — atomic<inttypes.h>typedefsAtomic typedef <inttypes.h>type......atomic_intmax_tintmax_tatomic_uintmax_tuintmax_tatomic_int8_t// iffint8_tis providedint8_tatomic_uint8_t// iffuint8_tis provideduint8_tatomic_int16_t// iffint16_tis providedint16_tatomic_uint16_t// iffuint16_tis provideduint16_tatomic_int32_t// iffint32_tis providedint32_tatomic_uint32_t// iffuint32_tis provideduint32_tatomic_int64_t// iffint64_tis providedint64_tatomic_uint64_t// iffuint64_tis provideduint64_t