Well, we do check all this via configure... if the platforms supports 64 
"native" atomics then we could use those; if not, we could use the portable 
versions as a backup (or simply return NOTIMPL).

I don't see how this is different from how we handle atomics currently, but I 
could be mistaken.

> On Sep 17, 2018, at 10:03 AM, Nick Kew <n...@apache.org> wrote:
> 
> Apologies to Jim.  Sent this to him, meant for the dev list of course.
> 
>>> On 17 Sep 2018, at 14:18, Jim Jagielski <j...@jagunet.com> wrote:
>>> 
>>> FYI: Both clang and GCC support both __sync and __atomic which support 
>>> 64bit ints. We could add that functionality to APR... 
>> 
>> We could indeed.
>> 
>> But does that not potentially leave a nasty gotcha?  Where a developer uses 
>> it and expects
>> atomic operations, and their application is subsequently built on a platform 
>> that
>> doesn't support those qualifiers.
>> 
>> With the obvious fallback it breaks silently.  With a more 
>> sophisticated/heavyweight
>> fallback, we should consider whether it's maintainable or likely to fall 
>> into disrepair.
>> 
>> I wouldn't want to stop you, but it needs some thought.
>> 
>> -- 
>> Nick Kew
> 

Reply via email to