summaryrefslogtreecommitdiff
path: root/boost-windows-decl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'boost-windows-decl.patch')
-rw-r--r--boost-windows-decl.patch318
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