__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 not defined on aarch64
Andrew Haley
aph@redhat.com
Thu Jun 29 07:47:00 GMT 2017
On 28/06/17 22:22, Toebs Douglass wrote:
> On 28/06/17 18:36, Richard Earnshaw wrote:
>> thread2 is blissfully unaware of the fact that by using CAS directly on
>> 'a' it has broken the requirement in f() that an object must be locked
>> before it can be dereferenced.
>
> I don't undestand, though; wouldn't this be something which falls wholly
> to the *user* to get right? why is the compiler concerned?
Yes, it totally is.
> If I create a variable which I make thread safe with locks and then in
> one case I don't use those locks, this is my problem, not the compilers.
>
> This matter with CAS/locks seems much the same.
Exactly. The fact that people can mess up is no excuse for GCC not
providing an intrinsic for double-word CAS.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the Gcc-help
mailing list