On 05/10/2010 12:39 AM, Ian Lance Taylor wrote:
Albert Cohen<albert.co...@inria.fr>  writes:

I agree. Or even, =c++0x or =gnu++0x

On the other hand, I fail to see the differen between =single and
=fast, and the explanation about "the same memory word" is not really
relevant as memory models typically tell you about concurrent accesses
to "different memory words".
What I was thinking is that the difference between =single and =fast
is that =single permits store speculation.  The difference between
=fast and =safe/=conformant is that =fast permits writing to a byte by
loading a word, changing the byte, and storing the word; in
particular, =fast permits write combining in cases where =safe does
not.

Memory models may not talk about memory words, but they exist
nevertheless.

Ian

I've changed the documentation and code to --params suggestion and the following, for now. we can work out the exact wording and other options later.

-fmemory-model=c++0x - Disable data races as per architectural requirements to match the standard. -fmemory-model=safe - Disable all data race introductions. (enforce all 4 internal restrictions.) -fmemory-model=single - Enable all data races introductions, as they are today. (relax all 4 internal restrictions.)

Andrew


Reply via email to