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.
Section: 33.5.8.2 [atomics.types.operations] Status: NAD Editorial Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [atomics.types.operations].
View all issues with NAD Editorial status.
Discussion:
Addresses US-171
As of 33.5.8.2 [atomics.types.operations] p. 7:
The atomic_init definition "Non-atomically assigns the value" is not quite correct, as the atomic_init purpose is initialization.Proposed resolution:
Change 33.5.8.2 [atomics.types.operations] p. 7 as indicated:
void atomic_init(volatile A *object, C desired); void atomic_init(A *object, C desired);7 Effects:
Non-atomically assigns the value desired to *objectInitializes *object with value desired. Concurrent access from another thread, even via an atomic operation, constitutes a data race. [Note: This function should only be applied to objects that have been default constructed. These semantics ensure compatibility with C. — end note]