diff options
Diffstat (limited to 'boost-windows-decl.patch')
-rw-r--r-- | boost-windows-decl.patch | 318 |
1 files changed, 318 insertions, 0 deletions
diff --git a/boost-windows-decl.patch b/boost-windows-decl.patch new file mode 100644 index 0000000..e6d7947 --- /dev/null +++ b/boost-windows-decl.patch @@ -0,0 +1,318 @@ +From d635772bc306b69ec6ad22313d673d0333f863a1 Mon Sep 17 00:00:00 2001 +From: Edward Diener <eldiener@tropicsoft.com> +Date: Mon, 20 Jul 2015 23:35:19 -0400 +Subject: [PATCH 1/5] Added missing decl attribute + +--- + src/archive_exception.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp +index b850f89..38c6c9c 100644 +--- a/libs/serialization/src/archive_exception.cpp ++++ b/libs/serialization/src/archive_exception.cpp +@@ -21,6 +21,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)){ + +From 0386df9cba448c6256d18fc542b8f21cec626dee Mon Sep 17 00:00:00 2001 +From: Edward Diener <eldiener@tropicsoft.com> +Date: Mon, 20 Jul 2015 23:36:46 -0400 +Subject: [PATCH 2/5] Move inline function out of line since it is being + exported/imported. This fixes a problem with gcc. + +--- + include/boost/archive/detail/basic_oarchive.hpp | 4 +--- + src/basic_oarchive.cpp | 5 +++++ + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/include/boost/archive/detail/basic_oarchive.hpp b/include/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/src/basic_oarchive.cpp b/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 + +From 6b906b43618eea9d783128ec0f4524df89c1dcc8 Mon Sep 17 00:00:00 2001 +From: Edward Diener <eldiener@tropicsoft.com> +Date: Mon, 27 Jul 2015 17:47:21 -0400 +Subject: [PATCH 3/5] Add copy constructor + +--- + include/boost/archive/archive_exception.hpp | 1 + + src/archive_exception.cpp | 12 +++++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +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/src/archive_exception.cpp b/src/archive_exception.cpp +index 38c6c9c..94aae50 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> +@@ -110,13 +111,22 @@ archive_exception::archive_exception( + break; + } + } ++ ++BOOST_ARCHIVE_DECL ++archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT : ++ 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) + +From 643fff144cee5b518cd7b07d8a619564c0b8b1d1 Mon Sep 17 00:00:00 2001 +From: Edward Diener <eldiener@tropicsoft.com> +Date: Fri, 31 Jul 2015 06:46:14 -0400 +Subject: [PATCH 4/5] Changes for wide character serialization + +--- + include/boost/archive/detail/interface_oarchive.hpp | 2 +- + include/boost/archive/polymorphic_iarchive.hpp | 4 ++-- + include/boost/archive/polymorphic_oarchive.hpp | 4 ++-- + include/boost/archive/xml_archive_exception.hpp | 2 ++ + src/archive_exception.cpp | 1 + + src/xml_archive_exception.cpp | 12 ++++++++++++ + 6 files changed, 20 insertions(+), 5 deletions(-) + +diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp +index 187013b..ad067f8 100644 +--- a/boost/archive/detail/interface_oarchive.hpp ++++ b/boost/archive/detail/interface_oarchive.hpp +@@ -29,7 +29,7 @@ namespace boost { + namespace archive { + namespace detail { + +-class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer; ++class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer; + + template<class Archive> + class interface_oarchive +diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp +index 7f19410..57fda71 100644 +--- a/boost/archive/polymorphic_iarchive.hpp ++++ b/boost/archive/polymorphic_iarchive.hpp +@@ -43,8 +43,8 @@ namespace serialization { + } // namespace serialization + namespace archive { + namespace detail { +- class BOOST_ARCHIVE_DECL basic_iarchive; +- class BOOST_ARCHIVE_DECL basic_iarchive; ++ class BOOST_SYMBOL_VISIBLE basic_iarchive; ++ class BOOST_SYMBOL_VISIBLE basic_iserializer; + } + + class polymorphic_iarchive; +diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp +index aa30b2a..bf543b0 100644 +--- a/boost/archive/polymorphic_oarchive.hpp ++++ b/boost/archive/polymorphic_oarchive.hpp +@@ -42,8 +42,8 @@ namespace serialization { + } // namespace serialization + namespace archive { + namespace detail { +- class BOOST_ARCHIVE_DECL basic_oarchive; +- class BOOST_ARCHIVE_DECL basic_oserializer; ++ class BOOST_SYMBOL_VISIBLE basic_oarchive; ++ class BOOST_SYMBOL_VISIBLE basic_oserializer; + } + + class polymorphic_oarchive; +diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp +index b07f9a0..45e4731 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 &) ; ++ BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ; + }; + + }// namespace archive +diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp +index 94aae50..5ff4b5f 100644 +--- a/libs/serialization/src/archive_exception.cpp ++++ b/libs/serialization/src/archive_exception.cpp +@@ -114,6 +114,7 @@ archive_exception::archive_exception( + + 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); +diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp +index c1431e2..37144d3 100644 +--- a/libs/serialization/src/xml_archive_exception.cpp ++++ b/libs/serialization/src/xml_archive_exception.cpp +@@ -51,6 +51,18 @@ 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 const char * ++xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW ++ { ++ return archive_exception::what(); ++ } + + } // archive + } // boost + +From 1f769b8cd914fceb981fe6a15309e1e5e5b67958 Mon Sep 17 00:00:00 2001 +From: Edward Diener <eldiener@tropicsoft.com> +Date: Sun, 2 Aug 2015 17:48:11 -0400 +Subject: [PATCH 5/5] Backed out some unnecessary changes for the build. The + main change is the exporting/importing of the destructor, which does nothing, + for xml_archive_exception. + +--- + include/boost/archive/detail/interface_oarchive.hpp | 2 +- + include/boost/archive/polymorphic_iarchive.hpp | 4 ++-- + include/boost/archive/polymorphic_oarchive.hpp | 4 ++-- + include/boost/archive/xml_archive_exception.hpp | 2 +- + src/xml_archive_exception.cpp | 6 +----- + 5 files changed, 7 insertions(+), 11 deletions(-) + +diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp +index ad067f8..187013b 100644 +--- a/boost/archive/detail/interface_oarchive.hpp ++++ b/boost/archive/detail/interface_oarchive.hpp +@@ -29,7 +29,7 @@ namespace boost { + namespace archive { + namespace detail { + +-class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer; ++class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer; + + template<class Archive> + class interface_oarchive +diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp +index 57fda71..b465bb1 100644 +--- a/boost/archive/polymorphic_iarchive.hpp ++++ b/boost/archive/polymorphic_iarchive.hpp +@@ -43,8 +43,8 @@ namespace serialization { + } // namespace serialization + namespace archive { + namespace detail { +- class BOOST_SYMBOL_VISIBLE basic_iarchive; +- class BOOST_SYMBOL_VISIBLE basic_iserializer; ++ class BOOST_ARCHIVE_DECL basic_iarchive; ++ class BOOST_ARCHIVE_DECL basic_iserializer; + } + + class polymorphic_iarchive; +diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp +index bf543b0..aa30b2a 100644 +--- a/boost/archive/polymorphic_oarchive.hpp ++++ b/boost/archive/polymorphic_oarchive.hpp +@@ -42,8 +42,8 @@ namespace serialization { + } // namespace serialization + namespace archive { + namespace detail { +- class BOOST_SYMBOL_VISIBLE basic_oarchive; +- class BOOST_SYMBOL_VISIBLE basic_oserializer; ++ class BOOST_ARCHIVE_DECL basic_oarchive; ++ class BOOST_ARCHIVE_DECL basic_oserializer; + } + + class polymorphic_oarchive; +diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp +index 45e4731..82c53ef 100644 +--- a/boost/archive/xml_archive_exception.hpp ++++ b/boost/archive/xml_archive_exception.hpp +@@ -46,7 +46,7 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception : + const char * e2 = NULL + ); + BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ; +- BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ; ++ virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; + }; + + }// namespace archive +diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp +index 37144d3..f4bf896 100644 +--- a/libs/serialization/src/xml_archive_exception.cpp ++++ b/libs/serialization/src/xml_archive_exception.cpp +@@ -58,11 +58,7 @@ xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth) + { + } + +-BOOST_ARCHIVE_DECL const char * +-xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW +- { +- return archive_exception::what(); +- } ++BOOST_ARCHIVE_DECL xml_archive_exception::~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {} + + } // archive + } // boost |