On 03/23/2016 01:55 PM, Vlad Khorsun wrote:
> 23.03.2016 11:19, Alex Peshkoff wrote:
>> On 03/23/2016 12:04 PM, Vlad Khorsun wrote:
>>>       All,
>>>
>>> in new codebase (v4) we going to use atomic operations more intensively than
>>> before. The question is: could we use standard features of C++11 or should
>>> choose some 3rd party library (such as libatomic_ops) for it ?
>>>
>>>       The main concern about C++11 atomics is - if all platforms where 
>>> Firebird
>>> can be built have support for it (by software and hardware) ? We have no
>>> problem with Intel\AMD and Linux\Windows (GCC and MSVC supports C++11 
>>> atomics)
>>> but i have no idea about MAC\HP\AIX\ARM and other...
>>>
>>>       Opinions ?
>> Looking at this table:
>> http://en.cppreference.com/w/cpp/compiler_support
>> looks like we may safely switch to use of c++11 atomics support.
>
>     It shows no support for c++11 atomics by HP aCC and IBM XLC++ (except of 
> Linux).

Damned  - I did not notice '*' near IBM XLC and read HP aCC as something 
like hppa (which we d not support any more, it's obvious that on hppa 
it's hard to have good atomic support).

> Is it a problem for us ?

Telling true I suppose both will add atomic support to the moment of FB4 
release.
But as long as they did not...
I suppose we keep our AtomicPointer and AtomicCounter, just implement 
them internally using C++11. For existing 2 exceptions we keep #ifdef's 
for a while, when they are fixed we may cleanup them.



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to