
c) perhaps this broke the msvc tests
Reduced test case for msvc is just: #include <sstream> #include <boost/archive/text_iarchive.hpp> #include <boost/archive/text_oarchive.hpp> int main() { std::stringstream ss(std::ios_base::in | std::ios_base::out | std::ios_base::binary); boost::archive::text_oarchive oa(ss); return 0; } Which aborts when calling the stringstream destructor - looks like a pure virtual method is called. The above test case passes with GCC/Linux, but there are many others which do not and yield: testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_archive.test/gcc-5.1.0s14/debug/test_derived_class_ptr_xml_archive.run ====== BEGIN OUTPUT ====== pure virtual method called terminate called without an active exception Aborted (core dumped) EXIT STATUS: 134 BTW, basic_text_iprimitive.hpp needs to include <limits> otherwise some compilers don't get numeric_limits defined. HTH, John.