From: Michael Marcin (mmarcin_at_[hidden])
Date: 2007-12-15 17:22:30
John Torjo wrote:
> Eames, Andrew wrote:
>> I apologize if this is a FAQ - I couldn't find much on other compilers
>> I am interested in using boost with a compiler for a DSP - The compiler
>> is somewhat archaic - I'm not using RTTI or exceptions (the compiler
>> supports them but it is currently broken) - the STL has old iostreams
>> and no doubt I will find some other musty corners. I don't have any
>> illusions about getting the whole of boost to compile but I'm sure there
>> are some large pieces that will work OK. I have no problem doing the
>> port myself.
> RTTI is pretty useful, and I think quite a few libraries rely on
> dynamic_cast at least once.
> For instance Boost Logging Lib ( http://torjo.com/log2/ ) relies on it
> once - I guess you could get 'round it.
> I guess the 1M$ question is : why do you need that specific compiler?
I'm in a similar situation where I have to use a specific compiler
because it's the only compiler supported by the closed SDK for the
platform we're developing for.
Right now I, unfortunately, can only use the Torjo logging library for a
windows port of the application because the target platform doesn't
support RTTI (exceptions are fine). This is annoying because the
debuggers for these embedded devices are sometimes flaky and logging on
device is sometimes the only way to fix bugs. So we have to have another
simple homegrown logging library for on device logging.
There are many other Boost libraries that we can't use, at least out of
the box, because they use RTTI in one or two places where they probably
don't have to. For instance lexical_cast uses it to provide extra
information to the bad_lexical_cast exception but functions just fine
without it. I didn't dig enough into the implementation but it looks
like Boost.Function and Boost.Variant may be in a similar boat.
I think shared_ptr used to have this issue but got changed after 1.34. I
wish more libraries would follow its lead if possible.
- Michael Marcin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk