> Most my porting to borland recently has involved a couple of new bugs > introduced in BCB6. Rather than testing compiler and version > everywhere, should I instead create some BOOST_SOME_DEFECT macros in the > borland config file and test for those instead? If so, any suggestions > for the macro names would be appreciated. > > The two defects are: > The various std::isdigit, islower, isalnum etc. convenience functions > will not compile.
All the issues you list are related: Borland have badly set up STLport in Builder 6, basically they put C lib functions in namespace std, and C++ library code in namespace stlport, and then use: namespace std{ using namespace stlport; } to import the STLport code into std. Unfortunately it doesn't work with function declarations, one fix is to do something like: namespace std{ using stlport::isdigit; using stlport::abs; using stlport::swap; // etc etc for each broken symbol } I guess we could boilerplate this and just dump it in the config system, but that would mean that <boost/config.hpp> would end up including just about all the std headers for this compiler. A bit heavyweight if you just want to use scoped_ptr or something :-( Any other ideas? John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost