This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD Editorial status.

1471. Default constructor of atomics needs specification

Section: 29.7.1 [atomics.types.operations] Status: NAD Editorial Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-12-23

Priority: Not Prioritized

View all other issues in [atomics.types.operations].

View all issues with NAD Editorial status.


Addresses US-168

29.7.1 [atomics.types.operations] around p. 4: The definition of the default constructor needs exposition.

Proposed resolution:

Insert a new general prototype description following the current 29.7.1 [atomics.types.operations] p. 3 as indicated:

3 [Note: Many operations are volatile-qualified. The “volatile as device register” semantics have not changed in the standard. This qualification means that volatility is preserved when applying these operations to volatile objects. It does not mean that operations on non-volatile objects become volatile. Thus, volatile qualified operations on non-volatile objects may be merged under some conditions. -- end note]

A::A() = default;

? Effects: Leaves the atomic object in an uninitialized state. [Note: These semantics ensure compatiblity with C. -- end note]

constexpr A::A(C desired);