Andrew MacLeod <amacleod@redhat.com> writes:
-fmemory-model=single - Enable all data races introductions, as they
are today. (relax all 4 internal restrictions.)
One could still use this mode with a multi-threaded program as long as
explicit synchronization is done, right?
Right. Its just a single processor memory model, so it doesn't limit
any optimizations.
Hmm, though now that I think about it, I'm not exactly sure what I mean
by "explicit synchronization". Standard libraries (boost threads, the
upcoming std::thread) provide things like mutexes and
conditional-variables, but does using those guarantee that the right
things happen with any shared data-structures they're used to
coordinate...?