To: J3 09-203 From: Nick Maclaren Subject: Minor Changes to Atomics Date: 2009 April 21 References: While writing the papers on atomic semantics, I noted two points that seem to need attention. Neither should be controversial, but I may have missed something. The first is the current wording doesn't allow for compare-and-swap or atomic addition, which we may want to add later. The term "the subroutine is executed" is already used in 12.5.4 with precisely the right meaning. A reference to that could be added if desirable. [319:12-14] In 13.1, in paragraph 3, sentence 2, replace: "as if the action on the ATOM argument occurs instantaneously" by: "as if the subroutine is executed instantaneously" The second is that the atomic subroutines allow for an ATOM argument to be any scalar of the right type and kind. Not merely does that permit copy-in/copy-out, an implementation may quite reasonably get unhappy if a non-coarray is used. I can think of no good reason to allow users to play games with atomic subroutines. [335:21] In 13.7.20, in paragraph 3, sentence 1, replace "scalar and" by "a scalar coarray or coindexed object". [335:35] In 13.7.21, in paragraph 3, sentence 1, replace "scalar and" by "a scalar coarray or coindexed object".