Boost logo

Boost :

From: Ovidiu Cristea (ocristea_at_[hidden])
Date: 2006-10-25 15:14:56


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk