1471. Default constructor of atomics needs specification

Section: 32.6.1 [atomics.types.operations] Status: NAD Editorial Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-02-10

Priority: Not Prioritized

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

View all issues with NAD Editorial status.

Discussion:

Addresses US-168

32.6.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 32.6.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);
[..]