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