To: J3 08-304 From: Nick Maclaren Subject: Atomic memory operations Date: 2008 November 20 References: J3/08-007r2 (WG5/N1723), 08-297r1 Discussion: This paper proposes an edit to 08-297r1 to specify that the ordering semantics of atomic operations are processor dependent. The issues are discussed at length in N1744, N1745 and N1748, and referred to in other documents. The purpose of this paragraph is to state in normative text that Fortran does not require sequential consistency for atomic actions, and therefore that programs that assume it are not portable. The reason that this should be normative is that it is a partial exception to the rules of a "sequence, in time" that apply to ordinary actions. Because of existing differences between systems, a more precise specification is not feasible. It is also to encourage implementors to document whatever it is that they do provide. [313:13.1p2++] Append to the end of the new paragraph 2 (from 08-297r1, beginning "An <...") of "13.1 Classes of intrinsic procedures": "The sequence of atomic actions within ordered segments is specified in 2.4.5. How sequences of atomic actions in unordered segments interleave with each other is processor dependent." [c.460 Annex A] Add: "- how the sequences of atomic actions in unordered segments interleave;"