
All, To make a long story short, here's my situation: - we just upgraded to boost 1.33 from 1.32; - trying to compile on Linux (Windows will follow soon); we're mostly using gcc, with the exception of some pieces that we use Intel C++ 9.x for; - some piece of the code I'm trying to build uses boost shared pointers and, being a port from Windows, inline Microsoft-style assembler code; - the rest of my 'world' is built in an environment that causes boost/detail/sp_counted_base_gcc_x86.hpp to be used for the shared_ptr locking. The problem I ran into is that, well, boost/detail/sp_counted_base_gcc_x86.hpp contains gnu-style inline assembler, and icc (intel C++ compiler) refuses to mix the 2 assembler styles in one file. After a little snooping around, I found that there is a file called boost/detail/sp_counted_base_cw_x86.hpp, which contains the equivalent functionality as *gcc_x86.hpp, only written in Microsoft-style assembly. I rigged it to use this and it 'seems' to work. And now for the questions: - is there any reason why in my release the #include of the *cw_x86.hpp file was commented out? Is it not performing as it should? Any other reasons? - is it safe for me to compile part of my classes with *gcc_x86.hpp, and part with *cw_x86.hpp? - if the above answers are 'favorable', is it possible for future releases to include a way for people to easily have the MS-assembly file included instead of the gnu one? Thanks a lot, Ovidiu