This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: should sync builtins be full optimization barriers?
Michael Matz <matz@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