
Thanks for replying so fast! I know this is a unusual case, but one that occurred nonetheless. As I said, I had already created a simple test that seems to be OK, just wanted to know if there might be any other obvious (for you) pitfalls. I'll let you know if I find anything else, good or bad. Since this seems to work, I can only hope there are no plans to discontinue this piece of code in future versions. Thanks again for the clarifications. Best regards, Ovidiu Peter Dimov wrote:
A very unusual situation. :-)
It wasn't tested as extensively as the others and there was no need for it since CodeWarrior/Windows works with sp_counted_base_w32.
In principle, this is a violation of the One Definition Rule... In practice, it should work.
It would probably be better to introduce an Intel-specific sp_counted_base that uses its intrinsics. I don't know whether the Intel compiler for Linux supports the _Interlocked* family, though; or whether the following intrinsics:
http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html
that were originally introduced in icc/ia64 (and later adopted by g++ 4.1) work under icc/x86.