xref: /aoo4110/main/boost/boost_1_55_0.patch (revision b1cdbd2c)
1diff -ur misc/boost_1_55_0/boost/asio/ssl/impl/context.ipp misc/build/boost_1_55_0/boost/asio/ssl/impl/context.ipp
2--- misc/boost_1_55_0/boost/asio/ssl/impl/context.ipp	2013-10-26 16:25:53.000000000 -0700
3+++ misc/build/boost_1_55_0/boost/asio/ssl/impl/context.ipp	2016-03-23 01:11:12.425434000 -0700
4@@ -87,6 +87,14 @@
5     handle_ = ::SSL_CTX_new(::SSLv2_server_method());
6     break;
7 #endif // defined(OPENSSL_NO_SSL2)
8+#if defined(OPENSSL_NO_SSL3)
9+  case context::sslv3:
10+  case context::sslv3_client:
11+  case context::sslv3_server:
12+    boost::asio::detail::throw_error(
13+        boost::asio::error::invalid_argument, "context");
14+    break;
15+#else // defined(OPENSSL_NO_SSL3)
16   case context::sslv3:
17     handle_ = ::SSL_CTX_new(::SSLv3_method());
18     break;
19@@ -96,6 +104,7 @@
20   case context::sslv3_server:
21     handle_ = ::SSL_CTX_new(::SSLv3_server_method());
22     break;
23+#endif // defined(OPENSSL_NO_SSL3)
24   case context::tlsv1:
25     handle_ = ::SSL_CTX_new(::TLSv1_method());
26     break;
27diff -ur misc/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp misc/build/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp
28--- misc/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp	2013-05-20 05:32:20.000000000 -0700
29+++ misc/build/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp	2016-03-23 01:11:12.426497000 -0700
30@@ -85,6 +85,13 @@
31       impl = ::SSL_CTX_new(::SSLv2_server_method());
32       break;
33 #endif // defined(OPENSSL_NO_SSL2)
34+#if defined(OPENSSL_NO_SSL3)
35+    case context_base::sslv3:
36+    case context_base::sslv3_client:
37+    case context_base::sslv3_server:
38+      boost::asio::detail::throw_error(boost::asio::error::invalid_argument);
39+      break;
40+#else // defined(OPENSSL_NO_SSL3)
41     case context_base::sslv3:
42       impl = ::SSL_CTX_new(::SSLv3_method());
43       break;
44@@ -94,6 +101,7 @@
45     case context_base::sslv3_server:
46       impl = ::SSL_CTX_new(::SSLv3_server_method());
47       break;
48+#endif // defined(OPENSSL_NO_SSL3)
49     case context_base::tlsv1:
50       impl = ::SSL_CTX_new(::TLSv1_method());
51       break;
52diff -ur misc/boost_1_55_0/boost/bind/arg.hpp misc/build/boost_1_55_0/boost/bind/arg.hpp
53--- misc/boost_1_55_0/boost/bind/arg.hpp	2007-11-25 10:07:19.000000000 -0800
54+++ misc/build/boost_1_55_0/boost/bind/arg.hpp	2016-03-23 01:11:12.421530000 -0700
55@@ -33,8 +33,7 @@
56
57     template< class T > arg( T const & /* t */ )
58     {
59-        // static assert I == is_placeholder<T>::value
60-        typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
61+        BOOST_STATIC_ASSERT( I == is_placeholder<T>::value );
62     }
63 };
64
65diff -ur misc/boost_1_55_0/boost/concept/detail/general.hpp misc/build/boost_1_55_0/boost/concept/detail/general.hpp
66--- misc/boost_1_55_0/boost/concept/detail/general.hpp	2010-06-08 12:31:13.000000000 -0700
67+++ misc/build/boost_1_55_0/boost/concept/detail/general.hpp	2016-03-23 01:11:12.388374000 -0700
68@@ -65,10 +65,19 @@
69
70 # endif
71
72+// Version check from https://svn.boost.org/trac/boost/changeset/82886
73+// (boost/static_assert.hpp)
74+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) || defined(__clang__)
75+#define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused))
76+#else
77+#define BOOST_CONCEPT_UNUSED_TYPEDEF /**/
78+#endif
79+
80 #  define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )             \
81     typedef ::boost::concepts::detail::instantiate<          \
82     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
83-      BOOST_PP_CAT(boost_concept_check,__LINE__)
84+      BOOST_PP_CAT(boost_concept_check,__LINE__)             \
85+      BOOST_CONCEPT_UNUSED_TYPEDEF
86
87 }}
88
89diff -ur misc/boost_1_55_0/boost/math/special_functions/fpclassify.hpp misc/build/boost_1_55_0/boost/math/special_functions/fpclassify.hpp
90--- misc/boost_1_55_0/boost/math/special_functions/fpclassify.hpp	2013-09-28 09:19:47.000000000 -0700
91+++ misc/build/boost_1_55_0/boost/math/special_functions/fpclassify.hpp	2016-03-23 01:11:12.392773000 -0700
92@@ -348,7 +348,7 @@
93 { //!< \brief return true if floating-point type t is finite.
94    typedef detail::fp_traits<long double>::type traits;
95    typedef traits::method method;
96-   typedef boost::is_floating_point<long double>::type fp_tag;
97+   //typedef boost::is_floating_point<long double>::type fp_tag;
98    typedef long double value_type;
99    return detail::isfinite_impl(static_cast<value_type>(x), method());
100 }
101@@ -419,7 +419,7 @@
102 {
103    typedef detail::fp_traits<long double>::type traits;
104    typedef traits::method method;
105-   typedef boost::is_floating_point<long double>::type fp_tag;
106+   //typedef boost::is_floating_point<long double>::type fp_tag;
107    typedef long double value_type;
108    return detail::isnormal_impl(static_cast<value_type>(x), method());
109 }
110@@ -508,7 +508,7 @@
111 {
112    typedef detail::fp_traits<long double>::type traits;
113    typedef traits::method method;
114-   typedef boost::is_floating_point<long double>::type fp_tag;
115+   //typedef boost::is_floating_point<long double>::type fp_tag;
116    typedef long double value_type;
117    return detail::isinf_impl(static_cast<value_type>(x), method());
118 }
119@@ -594,7 +594,7 @@
120 { //!< \brief return true if floating-point type t is NaN (Not A Number).
121    typedef detail::fp_traits<long double>::type traits;
122    typedef traits::method method;
123-   typedef boost::is_floating_point<long double>::type fp_tag;
124+   //typedef boost::is_floating_point<long double>::type fp_tag;
125    return detail::isnan_impl(x, method());
126 }
127 #endif
128diff -ur misc/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp misc/build/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp
129--- misc/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp	2008-06-22 08:05:38.000000000 -0700
130+++ misc/build/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp	2016-03-23 01:11:12.407415000 -0700
131@@ -47,7 +47,6 @@
132         typename parser_result<self_t, ScannerT>::type
133         parse(ScannerT const& scan) const
134         {
135-            typedef typename parser_result<self_t, ScannerT>::type result_t;
136             typedef typename ScannerT::value_t value_t;
137             typedef typename ScannerT::iterator_t iterator_t;
138
139diff -ur misc/boost_1_55_0/boost/static_assert.hpp misc/build/boost_1_55_0/boost/static_assert.hpp
140--- misc/boost_1_55_0/boost/static_assert.hpp	2013-09-21 13:17:00.000000000 -0700
141+++ misc/build/boost_1_55_0/boost/static_assert.hpp	2016-03-23 01:11:12.430683000 -0700
142@@ -67,7 +67,7 @@
143 //
144 // If the compiler warns about unused typedefs then enable this:
145 //
146-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
147+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) || defined(__clang__)
148 #  define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
149 #else
150 #  define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
151diff -ur misc/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp misc/build/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp
152--- misc/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp	2011-01-02 12:25:11.000000000 -0800
153+++ misc/build/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp	2016-03-23 01:11:12.435344000 -0700
154@@ -225,7 +225,6 @@
155 get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
156   typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
157       apply<cons<HT, TT> > impl;
158-  typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
159   return impl::call(c).head;
160 }
161
162diff -ur misc/boost_1_55_0/boost/unordered/detail/equivalent.hpp misc/build/boost_1_55_0/boost/unordered/detail/equivalent.hpp
163--- misc/boost_1_55_0/boost/unordered/detail/equivalent.hpp	2012-12-05 14:06:57.000000000 -0800
164+++ misc/build/boost_1_55_0/boost/unordered/detail/equivalent.hpp	2016-03-23 01:04:46.934774000 -0700
165@@ -534,11 +534,11 @@
166             }
167
168             node_pointer first_node = static_cast<node_pointer>(prev->next_);
169-            link_pointer end = first_node->group_prev_->next_;
170+            link_pointer end_var = first_node->group_prev_->next_;
171
172-            std::size_t count = this->delete_nodes(prev, end);
173+            std::size_t count_var = this->delete_nodes(prev, end_var);
174             this->fix_bucket(bucket_index, prev);
175-            return count;
176+            return count_var;
177         }
178
179         iterator erase(c_iterator r)
180@@ -557,21 +557,21 @@
181             return iterator(r2.node_);
182         }
183
184-        link_pointer erase_nodes(node_pointer begin, node_pointer end)
185+        link_pointer erase_nodes(node_pointer begin_arg, node_pointer end_arg)
186         {
187-            std::size_t bucket_index = this->hash_to_bucket(begin->hash_);
188+            std::size_t bucket_index = this->hash_to_bucket(begin_arg->hash_);
189
190-            // Split the groups containing 'begin' and 'end'.
191+            // Split the groups containing 'begin_arg' and 'end_arg'.
192             // And get the pointer to the node before begin while
193             // we're at it.
194-            link_pointer prev = split_groups(begin, end);
195+            link_pointer prev = split_groups(begin_arg, end_arg);
196
197-            // If we don't have a 'prev' it means that begin is at the
198+            // If we don't have a 'prev' it means that begin_arg is at the
199             // beginning of a block, so search through the blocks in the
200             // same bucket.
201             if (!prev) {
202                 prev = this->get_previous_start(bucket_index);
203-                while (prev->next_ != begin)
204+                while (prev->next_ != begin_arg)
205                     prev = static_cast<node_pointer>(prev->next_)->group_prev_;
206             }
207
208@@ -581,24 +581,24 @@
209                     static_cast<node_pointer>(prev->next_)->group_prev_->next_;
210                 this->delete_nodes(prev, group_end);
211                 bucket_index = this->fix_bucket(bucket_index, prev);
212-            } while(prev->next_ != end);
213+            } while(prev->next_ != end_arg);
214
215             return prev;
216         }
217
218-        static link_pointer split_groups(node_pointer begin, node_pointer end)
219+        static link_pointer split_groups(node_pointer begin_arg, node_pointer end_arg)
220         {
221-            node_pointer prev = begin->group_prev_;
222-            if (prev->next_ != begin) prev = node_pointer();
223+            node_pointer prev = begin_arg->group_prev_;
224+            if (prev->next_ != begin_arg) prev = node_pointer();
225
226-            if (end) {
227-                node_pointer first = end;
228-                while (first != begin && first->group_prev_->next_ == first) {
229+            if (end_arg) {
230+                node_pointer first = end_arg;
231+                while (first != begin_arg && first->group_prev_->next_ == first) {
232                     first = first->group_prev_;
233                 }
234
235-                boost::swap(first->group_prev_, end->group_prev_);
236-                if (first == begin) return prev;
237+                boost::swap(first->group_prev_, end_arg->group_prev_);
238+                if (first == begin_arg) return prev;
239             }
240
241             if (prev) {
242@@ -606,7 +606,7 @@
243                 while (first->group_prev_->next_ == first) {
244                     first = first->group_prev_;
245                 }
246-                boost::swap(first->group_prev_, begin->group_prev_);
247+                boost::swap(first->group_prev_, begin_arg->group_prev_);
248             }
249
250             return prev;
251diff -ur misc/boost_1_55_0/boost/unordered/detail/table.hpp misc/build/boost_1_55_0/boost/unordered/detail/table.hpp
252--- misc/boost_1_55_0/boost/unordered/detail/table.hpp	2013-08-18 02:44:14.000000000 -0700
253+++ misc/build/boost_1_55_0/boost/unordered/detail/table.hpp	2016-03-23 01:04:46.936005000 -0700
254@@ -257,9 +257,9 @@
255             return prev ? iterator(prev->next_) : iterator();
256         }
257
258-        std::size_t hash_to_bucket(std::size_t hash) const
259+        std::size_t hash_to_bucket(std::size_t hash_arg) const
260         {
261-            return policy::to_bucket(bucket_count_, hash);
262+            return policy::to_bucket(bucket_count_, hash_arg);
263         }
264
265         float load_factor() const
266@@ -655,8 +655,8 @@
267             // assign_nodes takes ownership of the container's elements,
268             // assigning to them if possible, and deleting any that are
269             // left over.
270-            assign_nodes<table> assign(*this);
271-            table_impl::fill_buckets(x.begin(), *this, assign);
272+            assign_nodes<table> assign_var(*this);
273+            table_impl::fill_buckets(x.begin(), *this, assign_var);
274         }
275
276         void assign(table const& x, true_type)
277@@ -730,9 +730,9 @@
278                 // move_assign_nodes takes ownership of the container's
279                 // elements, assigning to them if possible, and deleting
280                 // any that are left over.
281-                move_assign_nodes<table> assign(*this);
282+                move_assign_nodes<table> assign_var(*this);
283                 node_holder<node_allocator> nodes(x);
284-                table_impl::fill_buckets(nodes.begin(), *this, assign);
285+                table_impl::fill_buckets(nodes.begin(), *this, assign_var);
286             }
287         }
288
289diff -ur misc/boost_1_55_0/boost/unordered/detail/unique.hpp misc/build/boost_1_55_0/boost/unordered/detail/unique.hpp
290--- misc/boost_1_55_0/boost/unordered/detail/unique.hpp	2013-08-18 02:44:14.000000000 -0700
291+++ misc/build/boost_1_55_0/boost/unordered/detail/unique.hpp	2016-03-23 01:04:46.937066000 -0700
292@@ -529,9 +529,9 @@
293
294             link_pointer end = static_cast<node_pointer>(prev->next_)->next_;
295
296-            std::size_t count = this->delete_nodes(prev, end);
297+            std::size_t count_var = this->delete_nodes(prev, end);
298             this->fix_bucket(bucket_index, prev);
299-            return count;
300+            return count_var;
301         }
302
303         iterator erase(c_iterator r)
304@@ -550,19 +550,19 @@
305             return iterator(r2.node_);
306         }
307
308-        void erase_nodes(node_pointer begin, node_pointer end)
309+        void erase_nodes(node_pointer begin_arg, node_pointer end_arg)
310         {
311-            std::size_t bucket_index = this->hash_to_bucket(begin->hash_);
312+            std::size_t bucket_index = this->hash_to_bucket(begin_arg->hash_);
313
314-            // Find the node before begin.
315+            // Find the node before begin_arg
316             link_pointer prev = this->get_previous_start(bucket_index);
317-            while(prev->next_ != begin) prev = prev->next_;
318+            while(prev->next_ != begin_arg) prev = prev->next_;
319
320             // Delete the nodes.
321             do {
322                 this->delete_node(prev);
323                 bucket_index = this->fix_bucket(bucket_index, prev);
324-            } while (prev->next_ != end);
325+            } while (prev->next_ != end_arg);
326         }
327
328         ////////////////////////////////////////////////////////////////////////
329diff -ur misc/boost_1_55_0/boost/config/compiler/gcc.hpp misc/build/boost_1_55_0/boost/config/compiler/gcc.hpp
330--- misc/boost_1_55_0/boost/config/compiler/gcc.hpp	2013-09-17 09:55:51.000000000 -0700
331+++ misc/build/boost_1_55_0/boost/config/compiler/gcc.hpp	2019-11-04 09:59:20.741944674 -0800
332@@ -137,14 +137,18 @@
333
334 // C++0x features in 4.3.n and later
335 //
336-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
337+#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (__cplusplus >= 201103L)
338 // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
339 // passed on the command line, which in turn defines
340 // __GXX_EXPERIMENTAL_CXX0X__.
341 #  define BOOST_HAS_DECLTYPE
342 #  define BOOST_HAS_RVALUE_REFS
343 #  define BOOST_HAS_STATIC_ASSERT
344-#  define BOOST_HAS_VARIADIC_TMPL
345+#  if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4))
346+#    define BOOST_HAS_VARIADIC_TMPL
347+#  else
348+#    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
349+#  endif
350 #else
351 #  define BOOST_NO_CXX11_DECLTYPE
352 #  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
353@@ -153,7 +157,7 @@
354
355 // Variadic templates compiler:
356 //   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
357-#  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
358+#  if defined(__VARIADIC_TEMPLATES)
359 #    define BOOST_HAS_VARIADIC_TMPL
360 #  else
361 #    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
362