]> git.pld-linux.org Git - packages/crossmingw32-boost.git/blob - boost-windows-decl.patch
- updated to 1.59.0
[packages/crossmingw32-boost.git] / boost-windows-decl.patch
1 From d635772bc306b69ec6ad22313d673d0333f863a1 Mon Sep 17 00:00:00 2001
2 From: Edward Diener <eldiener@tropicsoft.com>
3 Date: Mon, 20 Jul 2015 23:35:19 -0400
4 Subject: [PATCH 1/5] Added missing decl attribute
5
6 ---
7  src/archive_exception.cpp | 1 +
8  1 file changed, 1 insertion(+)
9
10 diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
11 index b850f89..38c6c9c 100644
12 --- a/libs/serialization/src/archive_exception.cpp
13 +++ b/libs/serialization/src/archive_exception.cpp
14 @@ -21,6 +21,7 @@
15  namespace boost {
16  namespace archive {
17  
18 +BOOST_ARCHIVE_DECL
19  unsigned int
20  archive_exception::append(unsigned int l, const char * a){
21      while(l < (sizeof(m_buffer) - 1)){
22
23 From 0386df9cba448c6256d18fc542b8f21cec626dee Mon Sep 17 00:00:00 2001
24 From: Edward Diener <eldiener@tropicsoft.com>
25 Date: Mon, 20 Jul 2015 23:36:46 -0400
26 Subject: [PATCH 2/5] Move inline function out of line since it is being
27  exported/imported. This fixes a problem with gcc.
28
29 ---
30  include/boost/archive/detail/basic_oarchive.hpp | 4 +---
31  src/basic_oarchive.cpp                          | 5 +++++
32  2 files changed, 6 insertions(+), 3 deletions(-)
33
34 diff --git a/include/boost/archive/detail/basic_oarchive.hpp b/include/boost/archive/detail/basic_oarchive.hpp
35 index 702c560..03ad17b 100644
36 --- a/boost/archive/detail/basic_oarchive.hpp
37 +++ b/boost/archive/detail/basic_oarchive.hpp
38 @@ -61,9 +61,7 @@ class BOOST_SYMBOL_VISIBLE basic_oarchive :
39  protected:
40      BOOST_ARCHIVE_DECL basic_oarchive(unsigned int flags = 0);
41      BOOST_ARCHIVE_DECL boost::archive::detail::helper_collection &
42 -    get_helper_collection(){
43 -        return *this;
44 -    }
45 +    get_helper_collection();
46      // account for bogus gcc warning
47      #if defined(__GNUC__)
48      virtual
49 diff --git a/src/basic_oarchive.cpp b/src/basic_oarchive.cpp
50 index c99baeb..18522af 100644
51 --- a/libs/serialization/src/basic_oarchive.cpp
52 +++ b/libs/serialization/src/basic_oarchive.cpp
53 @@ -454,6 +454,11 @@ BOOST_ARCHIVE_DECL void
54  basic_oarchive::end_preamble(){
55  }
56  
57 +BOOST_ARCHIVE_DECL helper_collection &
58 +basic_oarchive::get_helper_collection(){
59 +       return *this;
60 +}
61 +
62  } // namespace detail
63  } // namespace archive
64  } // namespace boost
65
66 From 6b906b43618eea9d783128ec0f4524df89c1dcc8 Mon Sep 17 00:00:00 2001
67 From: Edward Diener <eldiener@tropicsoft.com>
68 Date: Mon, 27 Jul 2015 17:47:21 -0400
69 Subject: [PATCH 3/5] Add copy constructor
70
71 ---
72  include/boost/archive/archive_exception.hpp |  1 +
73  src/archive_exception.cpp                   | 12 +++++++++++-
74  2 files changed, 12 insertions(+), 1 deletion(-)
75
76 diff --git a/include/boost/archive/archive_exception.hpp b/include/boost/archive/archive_exception.hpp
77 index 1159d27..fabcdb5 100644
78 --- a/boost/archive/archive_exception.hpp
79 +++ b/boost/archive/archive_exception.hpp
80 @@ -87,6 +87,7 @@ class BOOST_SYMBOL_VISIBLE archive_exception :
81          const char * e1 = NULL,
82          const char * e2 = NULL
83      ) BOOST_NOEXCEPT;
84 +    BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT ;
85      virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
86      virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
87  };
88 diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
89 index 38c6c9c..94aae50 100644
90 --- a/libs/serialization/src/archive_exception.cpp
91 +++ b/libs/serialization/src/archive_exception.cpp
92 @@ -14,6 +14,7 @@
93  
94  #include <exception>
95  #include <string>
96 +#include <cstring>
97  
98  #define BOOST_ARCHIVE_SOURCE
99  #include <boost/archive/archive_exception.hpp>
100 @@ -110,13 +111,22 @@ archive_exception::archive_exception(
101          break;
102      }
103  }
104 +
105 +BOOST_ARCHIVE_DECL
106 +archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT :
107 +       code(oth.code)
108 +{
109 +       std::memcpy(m_buffer,oth.m_buffer,sizeof m_buffer);
110 +}
111 +
112  BOOST_ARCHIVE_DECL
113  archive_exception::~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {}
114  
115  BOOST_ARCHIVE_DECL const char *
116 -archive_exception::what( ) const BOOST_NOEXCEPT_OR_NOTHROW {
117 +archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW {
118      return m_buffer;
119  }
120 +
121  BOOST_ARCHIVE_DECL
122  archive_exception::archive_exception() BOOST_NOEXCEPT :
123      code(no_exception)
124
125 From 643fff144cee5b518cd7b07d8a619564c0b8b1d1 Mon Sep 17 00:00:00 2001
126 From: Edward Diener <eldiener@tropicsoft.com>
127 Date: Fri, 31 Jul 2015 06:46:14 -0400
128 Subject: [PATCH 4/5] Changes for wide character serialization
129
130 ---
131  include/boost/archive/detail/interface_oarchive.hpp |  2 +-
132  include/boost/archive/polymorphic_iarchive.hpp      |  4 ++--
133  include/boost/archive/polymorphic_oarchive.hpp      |  4 ++--
134  include/boost/archive/xml_archive_exception.hpp     |  2 ++
135  src/archive_exception.cpp                           |  1 +
136  src/xml_archive_exception.cpp                       | 12 ++++++++++++
137  6 files changed, 20 insertions(+), 5 deletions(-)
138
139 diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp
140 index 187013b..ad067f8 100644
141 --- a/boost/archive/detail/interface_oarchive.hpp
142 +++ b/boost/archive/detail/interface_oarchive.hpp
143 @@ -29,7 +29,7 @@ namespace boost {
144  namespace archive {
145  namespace detail {
146  
147 -class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer;
148 +class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer;
149  
150  template<class Archive>
151  class interface_oarchive 
152 diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp
153 index 7f19410..57fda71 100644
154 --- a/boost/archive/polymorphic_iarchive.hpp
155 +++ b/boost/archive/polymorphic_iarchive.hpp
156 @@ -43,8 +43,8 @@ namespace serialization {
157  } // namespace serialization
158  namespace archive {
159  namespace detail {
160 -    class BOOST_ARCHIVE_DECL basic_iarchive;
161 -    class BOOST_ARCHIVE_DECL basic_iarchive;
162 +    class BOOST_SYMBOL_VISIBLE basic_iarchive;
163 +    class BOOST_SYMBOL_VISIBLE basic_iserializer;
164  }
165  
166  class polymorphic_iarchive;
167 diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp
168 index aa30b2a..bf543b0 100644
169 --- a/boost/archive/polymorphic_oarchive.hpp
170 +++ b/boost/archive/polymorphic_oarchive.hpp
171 @@ -42,8 +42,8 @@ namespace serialization {
172  } // namespace serialization
173  namespace archive {
174  namespace detail {
175 -    class BOOST_ARCHIVE_DECL basic_oarchive;
176 -    class BOOST_ARCHIVE_DECL basic_oserializer;
177 +    class BOOST_SYMBOL_VISIBLE basic_oarchive;
178 +    class BOOST_SYMBOL_VISIBLE basic_oserializer;
179  }
180  
181  class polymorphic_oarchive;
182 diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp
183 index b07f9a0..45e4731 100644
184 --- a/boost/archive/xml_archive_exception.hpp
185 +++ b/boost/archive/xml_archive_exception.hpp
186 @@ -45,6 +45,8 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception :
187          const char * e1 = NULL,
188          const char * e2 = NULL
189      );
190 +    BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ;
191 +    BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
192  };
193  
194  }// namespace archive
195 diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
196 index 94aae50..5ff4b5f 100644
197 --- a/libs/serialization/src/archive_exception.cpp
198 +++ b/libs/serialization/src/archive_exception.cpp
199 @@ -114,6 +114,7 @@ archive_exception::archive_exception(
200  
201  BOOST_ARCHIVE_DECL
202  archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT :
203 +       std::exception(oth),
204         code(oth.code)
205  {
206         std::memcpy(m_buffer,oth.m_buffer,sizeof m_buffer);
207 diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp
208 index c1431e2..37144d3 100644
209 --- a/libs/serialization/src/xml_archive_exception.cpp
210 +++ b/libs/serialization/src/xml_archive_exception.cpp
211 @@ -51,6 +51,18 @@ xml_archive_exception::xml_archive_exception(
212              break;
213          }
214      }
215 +    
216 +BOOST_ARCHIVE_DECL
217 +xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth) :
218 +       archive_exception(oth)
219 +       {
220 +       }
221 +       
222 +BOOST_ARCHIVE_DECL const char * 
223 +xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW
224 +       {
225 +       return archive_exception::what();
226 +       }
227  
228  } // archive
229  } // boost
230
231 From 1f769b8cd914fceb981fe6a15309e1e5e5b67958 Mon Sep 17 00:00:00 2001
232 From: Edward Diener <eldiener@tropicsoft.com>
233 Date: Sun, 2 Aug 2015 17:48:11 -0400
234 Subject: [PATCH 5/5] Backed out some unnecessary changes for the build. The
235  main change is the exporting/importing of the destructor, which does nothing,
236  for xml_archive_exception.
237
238 ---
239  include/boost/archive/detail/interface_oarchive.hpp | 2 +-
240  include/boost/archive/polymorphic_iarchive.hpp      | 4 ++--
241  include/boost/archive/polymorphic_oarchive.hpp      | 4 ++--
242  include/boost/archive/xml_archive_exception.hpp     | 2 +-
243  src/xml_archive_exception.cpp                       | 6 +-----
244  5 files changed, 7 insertions(+), 11 deletions(-)
245
246 diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp
247 index ad067f8..187013b 100644
248 --- a/boost/archive/detail/interface_oarchive.hpp
249 +++ b/boost/archive/detail/interface_oarchive.hpp
250 @@ -29,7 +29,7 @@ namespace boost {
251  namespace archive {
252  namespace detail {
253  
254 -class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer;
255 +class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer;
256  
257  template<class Archive>
258  class interface_oarchive 
259 diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp
260 index 57fda71..b465bb1 100644
261 --- a/boost/archive/polymorphic_iarchive.hpp
262 +++ b/boost/archive/polymorphic_iarchive.hpp
263 @@ -43,8 +43,8 @@ namespace serialization {
264  } // namespace serialization
265  namespace archive {
266  namespace detail {
267 -    class BOOST_SYMBOL_VISIBLE basic_iarchive;
268 -    class BOOST_SYMBOL_VISIBLE basic_iserializer;
269 +    class BOOST_ARCHIVE_DECL basic_iarchive;
270 +    class BOOST_ARCHIVE_DECL basic_iserializer;
271  }
272  
273  class polymorphic_iarchive;
274 diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp
275 index bf543b0..aa30b2a 100644
276 --- a/boost/archive/polymorphic_oarchive.hpp
277 +++ b/boost/archive/polymorphic_oarchive.hpp
278 @@ -42,8 +42,8 @@ namespace serialization {
279  } // namespace serialization
280  namespace archive {
281  namespace detail {
282 -    class BOOST_SYMBOL_VISIBLE basic_oarchive;
283 -    class BOOST_SYMBOL_VISIBLE basic_oserializer;
284 +    class BOOST_ARCHIVE_DECL basic_oarchive;
285 +    class BOOST_ARCHIVE_DECL basic_oserializer;
286  }
287  
288  class polymorphic_oarchive;
289 diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp
290 index 45e4731..82c53ef 100644
291 --- a/boost/archive/xml_archive_exception.hpp
292 +++ b/boost/archive/xml_archive_exception.hpp
293 @@ -46,7 +46,7 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception :
294          const char * e2 = NULL
295      );
296      BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ;
297 -    BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
298 +    virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
299  };
300  
301  }// namespace archive
302 diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp
303 index 37144d3..f4bf896 100644
304 --- a/libs/serialization/src/xml_archive_exception.cpp
305 +++ b/libs/serialization/src/xml_archive_exception.cpp
306 @@ -58,11 +58,7 @@ xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth)
307         {
308         }
309         
310 -BOOST_ARCHIVE_DECL const char * 
311 -xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW
312 -       {
313 -       return archive_exception::what();
314 -       }
315 +BOOST_ARCHIVE_DECL xml_archive_exception::~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {}
316  
317  } // archive
318  } // boost
This page took 0.109466 seconds and 3 git commands to generate.