Description
Full name of submitter (unless configured in github; will be published with the issue): Jim X
[intro.races] p4 says:
All modifications to a particular atomic object M occur in some particular total order, called the modification order of M.
According to Wikipedia, The modification order is more like a strict total order. Their difference is:
Any two modifications in the modification order are distinct elements, so they cannot be If a ≤ b and b ≤ a then a = b
. In other words, either one precedes the other or after, they cannot overlap(i.e. equal). Moreover, saying a modification precedes itself(i.e. reflexive) in the order is meaningless.
Suggested Resolution:
All modifications to a particular atomic object M occur in some particular strict total order, called the modification order of M.
[atomics.order] p4
There is a single strict total order S on all memory_order::seq_cst operations, including fences, that satisfies the following constraints.