diff options
Diffstat (limited to 'boost-mingw-1.59.0-serialization.patch')
-rw-r--r-- | boost-mingw-1.59.0-serialization.patch | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/boost-mingw-1.59.0-serialization.patch b/boost-mingw-1.59.0-serialization.patch new file mode 100644 index 000000000000..a564d060945f --- /dev/null +++ b/boost-mingw-1.59.0-serialization.patch @@ -0,0 +1,133 @@ +diff --git a/include/boost/archive/archive_exception.hpp b/include/boost/archive/archive_exception.hpp +index 1159d27..fabcdb5 100644 +--- a/boost/archive/archive_exception.hpp ++++ b/boost/archive/archive_exception.hpp +@@ -87,6 +87,7 @@ class BOOST_SYMBOL_VISIBLE archive_exception : + const char * e1 = NULL, + const char * e2 = NULL + ) BOOST_NOEXCEPT; ++ BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT ; + virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; + virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ; + }; +diff --git a/boost/archive/detail/basic_oarchive.hpp b/boost/archive/detail/basic_oarchive.hpp +index 702c560..03ad17b 100644 +--- a/boost/archive/detail/basic_oarchive.hpp ++++ b/boost/archive/detail/basic_oarchive.hpp +@@ -61,9 +61,7 @@ class BOOST_SYMBOL_VISIBLE basic_oarchive : + protected: + BOOST_ARCHIVE_DECL basic_oarchive(unsigned int flags = 0); + BOOST_ARCHIVE_DECL boost::archive::detail::helper_collection & +- get_helper_collection(){ +- return *this; +- } ++ get_helper_collection(); + // account for bogus gcc warning + #if defined(__GNUC__) + virtual +diff --git a/boost/archive/polymorphic_iarchive.hpp b/boost/archive/polymorphic_iarchive.hpp +index 7f19410..b465bb1 100644 +--- a/boost/archive/polymorphic_iarchive.hpp ++++ b/boost/archive/polymorphic_iarchive.hpp +@@ -44,7 +44,7 @@ namespace serialization { + namespace archive { + namespace detail { + class BOOST_ARCHIVE_DECL basic_iarchive; +- class BOOST_ARCHIVE_DECL basic_iarchive; ++ class BOOST_ARCHIVE_DECL basic_iserializer; + } + + class polymorphic_iarchive; +diff --git a/boost/archive/xml_archive_exception.hpp b/boost/archive/xml_archive_exception.hpp +index b07f9a0..82c53ef 100644 +--- a/boost/archive/xml_archive_exception.hpp ++++ b/boost/archive/xml_archive_exception.hpp +@@ -45,6 +45,8 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception : + const char * e1 = NULL, + const char * e2 = NULL + ); ++ BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ; ++ virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; + }; + + }// namespace archive +diff --git a/libs/serialization/src/archive_exception.cpp b/libs/serialization/src/archive_exception.cpp +index b850f89..5ff4b5f 100644 +--- a/libs/serialization/src/archive_exception.cpp ++++ b/libs/serialization/src/archive_exception.cpp +@@ -14,6 +14,7 @@ + + #include <exception> + #include <string> ++#include <cstring> + + #define BOOST_ARCHIVE_SOURCE + #include <boost/archive/archive_exception.hpp> +@@ -21,6 +22,7 @@ + namespace boost { + namespace archive { + ++BOOST_ARCHIVE_DECL + unsigned int + archive_exception::append(unsigned int l, const char * a){ + while(l < (sizeof(m_buffer) - 1)){ +@@ -109,13 +111,23 @@ archive_exception::archive_exception( + break; + } + } ++ ++BOOST_ARCHIVE_DECL ++archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT : ++ std::exception(oth), ++ code(oth.code) ++{ ++ std::memcpy(m_buffer,oth.m_buffer,sizeof m_buffer); ++} ++ + BOOST_ARCHIVE_DECL + archive_exception::~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {} + + BOOST_ARCHIVE_DECL const char * +-archive_exception::what( ) const BOOST_NOEXCEPT_OR_NOTHROW { ++archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW { + return m_buffer; + } ++ + BOOST_ARCHIVE_DECL + archive_exception::archive_exception() BOOST_NOEXCEPT : + code(no_exception) +diff --git a/libs/serialization/src/basic_oarchive.cpp b/libs/serialization/src/basic_oarchive.cpp +index c99baeb..18522af 100644 +--- a/libs/serialization/src/basic_oarchive.cpp ++++ b/libs/serialization/src/basic_oarchive.cpp +@@ -454,6 +454,11 @@ BOOST_ARCHIVE_DECL void + basic_oarchive::end_preamble(){ + } + ++BOOST_ARCHIVE_DECL helper_collection & ++basic_oarchive::get_helper_collection(){ ++ return *this; ++} ++ + } // namespace detail + } // namespace archive + } // namespace boost +diff --git a/libs/serialization/src/xml_archive_exception.cpp b/libs/serialization/src/xml_archive_exception.cpp +index c1431e2..f4bf896 100644 +--- a/libs/serialization/src/xml_archive_exception.cpp ++++ b/libs/serialization/src/xml_archive_exception.cpp +@@ -51,6 +51,14 @@ xml_archive_exception::xml_archive_exception( + break; + } + } ++ ++BOOST_ARCHIVE_DECL ++xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth) : ++ archive_exception(oth) ++ { ++ } ++ ++BOOST_ARCHIVE_DECL xml_archive_exception::~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {} + + } // archive + } // boost |