Michael Matz <m...@suse.de> writes: > Hi, > > On Tue, 13 Sep 2011, Andrew MacLeod wrote: > >> Your example was not about regular stores, it used atomic variables. > > This reads as if there exists non-atomic variables in the new C++ > mem-model. Assuming that this is so, why do those ugly requirements of > not introducing new data races also apply to those non-atomic datas?
My understanding is that the C++ memory model bans speculative stores even for non-atomic variables. I believe this is because of the acquire/release semantics they have adopted--a release of an atomic variable applies to all writes that occur before the release. Ian