
I'll try and run the Borland tests on my machine and figure out what's going on, BTW the link to Spirit-1.6 is broken in your docs. Also which spirit version are you using 1.6.3? Just checking....
To answer my own question: I can reproduce the issue with spirit 1.6.3 and Borland C++ Builder 6 Up4, the patch below fixes the problem, OK to commit?
As for the other failures, those for test_demo_xml_load all appear to be caused by a failed assertion on opening the file stream, is this likely to be another dependency issue that hasn't been nailed down yet?
Confirmed as a dependency issue: building test_demo_xml_save first fixes the problem. Was the suggested fix for these dependency issues ever committed? I don't see it in cvs. Here's the Borland patch: Index: boost/serialization/shared_ptr.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/serialization/shared_ptr.hpp,v retrieving revision 1.15.2.3 diff -u -b -r1.15.2.3 shared_ptr.hpp --- boost/serialization/shared_ptr.hpp 2 Oct 2005 05:57:24 -0000 1.15.2.3 +++ boost/serialization/shared_ptr.hpp 24 Oct 2005 12:26:37 -0000 @@ -53,14 +53,22 @@ struct version< ::boost::shared_ptr<T> > { \ typedef mpl::integral_c_tag tag; typedef mpl::int_<1> type; +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) + BOOST_STATIC_CONSTANT(unsigned int, value = 1); +#else BOOST_STATIC_CONSTANT(unsigned int, value = type::value); +#endif }; // don't track shared pointers template<class T> struct tracking_level< ::boost::shared_ptr<T> > { typedef mpl::integral_c_tag tag; typedef mpl::int_< ::boost::serialization::track_never> type; +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) + BOOST_STATIC_CONSTANT(int, value = ::boost::serialization::track_never); +#else BOOST_STATIC_CONSTANT(int, value = type::value); +#endif }; }} #define BOOST_SERIALIZATION_SHARED_PTR(T) John.