|
Boost Users : |
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2022-09-22 06:41:17
On 07/09/2022 20:33, Jens Carl via Boost-users wrote:
>
>
> 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
>> Â Â Â Â Â ,__ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
>> Â Â Â return cmp;
>> }
>>
>
> I changed the code as you suggested, but I still get the same error.
>
> Cheers,
> Â Jens
Sorry to hear that. I'm afraid I've run out of ideas :-(
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net