This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2024-12-19


2954. Simultaneous modifications of an atomic object

Section: 6.9.2.2  [intro.races]     Status: NAD     Submitter: Jim X     Date: 2024-11-08

(From submission #636.)

Subclause 6.9.2.2 [intro.races] paragraph 4 specifies:

All modifications to a particular atomic object M occur in some particular total order, called the modification order of M. ...

Is the total order a strict total order? If not, modifications may appear to occur simultaneously.

Suggested resolution:

  1. Change in 6.9.2.2 [intro.races] paragraph 4 as follows:

    All modifications to a particular atomic object M occur in some particular strict total order, called the modification order of M. ...
  2. Change in 32.5.4 [atomics.order] paragraph 4 as follows:

    There is a single strict total order S on all memory_order::seq_cst operations, including fences, that satisfies the following constraints. ...

Additional notes (November, 2024)

Forwarded to SG1 and LWG by decision of the CWG chair, via paper issue 2137.

CWG 2024-11-08

If "modifications [...] occur in some particular total order", one can equivalently define a strict or non-strict total order over them, as those are isomorphic. Phrases like "A is earlier than B in the modification order of M" plainly refer to <, not <=.