This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 114b. See for the official list.


1177. Intra-thread dependency-ordered-before

Section: 6.9.2  [intro.multithread]     Status: C++11     Submitter: CA     Date: 2010-08-10

[Voted into the WP at the November, 2010 meeting as part of paper N3196.]

N3092 comment CA 15

The current draft has release/acquire synchronize-with edges only between a release on one thread and an acquire on a different thread, whereas the definition of dependency-ordered-before permits the release and consume to be on the same thread; it seems odd to permit the latter. (At the moment function arguments can't race or sync with each other, but they can be dependency ordered before each other.)

We don't currently have an example in which this makes a real difference, but for symmetry could suggest changing the definition of dependency-ordered-before in 6.9.2 [intro.multithread].

Proposed resolution (August, 2010):

Change 6.9.2 [intro.multithread] paragraph 9 as follows:

An evaluation A is dependency-ordered before an evaluation B if