Skip to content

CWG2954 [intro.races] p4 total order vs. strict total order #636

Description

@xmh0511

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions