Unclear specification of atomic operations
Section [intro.races]
Kazutoshi Satoda

Created on 2016-01-21.00:00:00 last changed 4 months ago


Date: 2020-12-15.00:00:00

Additional notes, October, 2018:

This is also library issue 2506. SG1 has requested a paper to deal with this issue, so it is no longer considered editorial.

Date: 2017-04-15.00:00:00

Notes from the April, 2017 teleconference:

CWG determined that this issue should be handled editorially; it will be in "review" status until the change has been made and verified. See editorial issue 1611.

Date: 2020-12-15.00:00:00

It is not sufficiently clear that the only atomic operations are the ones defined in clause Clause 31 [atomics] by the library. The intent is that no accesses are atomic unless the Standard describes them as such.

An additional problem is that, e.g., new and delete are defined to be synchronization operations, but they are not defined in Clauses Clause 31 [atomics] and Clause 32 [thread].

Suggested resolution:

Change [intro.races] paragraph 3 as follows:

The library defines a number the set of atomic operations (Clause Clause 31 [atomics]) and operations on mutexes (Clause Clause 32 [thread]) that. Some of these, and some other library operations, such as those on mutexes (Clause Clause 32 [thread]) are specially identified as synchronization operations. These operations...
Date User Action Args
2020-12-15 00:00:00adminsetmessages: + msg6260
2020-12-15 00:00:00adminsetstatus: review -> open
2018-02-27 00:00:00adminsetmessages: + msg5877
2016-01-21 00:00:00admincreate