Jean-Marc Bourguet wrote:
    -fmemory-model=single
        Assume single threaded execution, which also means no signal
        handlers.
    -fmemory-model=fast
        The user is responsible for all synchronization.  Accessing
        the same memory words from different threads may break
        unpredictably.
    -fmemory-model=safe
        The compiler will do its best to protect you.

With that description, I'd think that "safe" lets the user code assumes
the sequential consistency model.  I'd use -fmemory-model=conformant or
something like that for the model where the compiler assumes that the user
code respect the constraint led out for it by the standard.  As which
constraints are put on user code depend on the languages -- Java has its
own memory model which AFAIK is more constraining than C++ and I think Ada
has its own but my Ada programming days are too far for me to comment on
it -- one may prefer some other name.

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".

Albert

Reply via email to