summarylogtreecommitdiffstats
path: root/boost-mingw-1.59.0-serialization.patch
blob: a564d060945fd2e44f331a31e6492868afdcd0a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
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