Boost logo

Boost Users :

From: Jens Carl (vl01_at_[hidden])
Date: 2022-09-07 18:33:36

On 8/23/22 08:37, Ion Gaztañaga via Boost-users wrote:
>> I looked at code of atomic_cas32() and it uses the legacy built-in
>> __sync_val_compare_and_swap().
>> Can it be that that built-in isn't supported on ARM?
>> Is there a newer built-in which should be used?
> It could be. Can you test if __atomic_compare_exchange avoids the TSAN
> error?
> inline boost::uint32_t atomic_cas32
>    ( volatile boost::uint32_t *mem
>    , boost::uint32_t with, boost::uint32_t cmp)
> {
>    __atomic_compare_exchange
>      (const_cast<boost::uint32_t*>(mem), &cmp, &with, false
>    return cmp;
> }

I changed the code as you suggested, but I still get the same error.


Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at