| diff -ur misc/boost_1_55_0/boost/asio/ssl/impl/context.ipp misc/build/boost_1_55_0/boost/asio/ssl/impl/context.ipp |
| --- misc/boost_1_55_0/boost/asio/ssl/impl/context.ipp 2013-10-26 16:25:53.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/asio/ssl/impl/context.ipp 2016-03-23 01:11:12.425434000 -0700 |
| @@ -87,6 +87,14 @@ |
| handle_ = ::SSL_CTX_new(::SSLv2_server_method()); |
| break; |
| #endif // defined(OPENSSL_NO_SSL2) |
| +#if defined(OPENSSL_NO_SSL3) |
| + case context::sslv3: |
| + case context::sslv3_client: |
| + case context::sslv3_server: |
| + boost::asio::detail::throw_error( |
| + boost::asio::error::invalid_argument, "context"); |
| + break; |
| +#else // defined(OPENSSL_NO_SSL3) |
| case context::sslv3: |
| handle_ = ::SSL_CTX_new(::SSLv3_method()); |
| break; |
| @@ -96,6 +104,7 @@ |
| case context::sslv3_server: |
| handle_ = ::SSL_CTX_new(::SSLv3_server_method()); |
| break; |
| +#endif // defined(OPENSSL_NO_SSL3) |
| case context::tlsv1: |
| handle_ = ::SSL_CTX_new(::TLSv1_method()); |
| break; |
| diff -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 |
| --- misc/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp 2013-05-20 05:32:20.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/asio/ssl/old/detail/openssl_context_service.hpp 2016-03-23 01:11:12.426497000 -0700 |
| @@ -85,6 +85,13 @@ |
| impl = ::SSL_CTX_new(::SSLv2_server_method()); |
| break; |
| #endif // defined(OPENSSL_NO_SSL2) |
| +#if defined(OPENSSL_NO_SSL3) |
| + case context_base::sslv3: |
| + case context_base::sslv3_client: |
| + case context_base::sslv3_server: |
| + boost::asio::detail::throw_error(boost::asio::error::invalid_argument); |
| + break; |
| +#else // defined(OPENSSL_NO_SSL3) |
| case context_base::sslv3: |
| impl = ::SSL_CTX_new(::SSLv3_method()); |
| break; |
| @@ -94,6 +101,7 @@ |
| case context_base::sslv3_server: |
| impl = ::SSL_CTX_new(::SSLv3_server_method()); |
| break; |
| +#endif // defined(OPENSSL_NO_SSL3) |
| case context_base::tlsv1: |
| impl = ::SSL_CTX_new(::TLSv1_method()); |
| break; |
| diff -ur misc/boost_1_55_0/boost/bind/arg.hpp misc/build/boost_1_55_0/boost/bind/arg.hpp |
| --- misc/boost_1_55_0/boost/bind/arg.hpp 2007-11-25 10:07:19.000000000 -0800 |
| +++ misc/build/boost_1_55_0/boost/bind/arg.hpp 2016-03-23 01:11:12.421530000 -0700 |
| @@ -33,8 +33,7 @@ |
| |
| template< class T > arg( T const & /* t */ ) |
| { |
| - // static assert I == is_placeholder<T>::value |
| - typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ]; |
| + BOOST_STATIC_ASSERT( I == is_placeholder<T>::value ); |
| } |
| }; |
| |
| diff -ur misc/boost_1_55_0/boost/concept/detail/general.hpp misc/build/boost_1_55_0/boost/concept/detail/general.hpp |
| --- misc/boost_1_55_0/boost/concept/detail/general.hpp 2010-06-08 12:31:13.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/concept/detail/general.hpp 2016-03-23 01:11:12.388374000 -0700 |
| @@ -65,10 +65,19 @@ |
| |
| # endif |
| |
| +// Version check from https://svn.boost.org/trac/boost/changeset/82886 |
| +// (boost/static_assert.hpp) |
| +#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) || defined(__clang__) |
| +#define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused)) |
| +#else |
| +#define BOOST_CONCEPT_UNUSED_TYPEDEF /**/ |
| +#endif |
| + |
| # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ |
| typedef ::boost::concepts::detail::instantiate< \ |
| &::boost::concepts::requirement_<ModelFnPtr>::failed> \ |
| - BOOST_PP_CAT(boost_concept_check,__LINE__) |
| + BOOST_PP_CAT(boost_concept_check,__LINE__) \ |
| + BOOST_CONCEPT_UNUSED_TYPEDEF |
| |
| }} |
| |
| diff -ur misc/boost_1_55_0/boost/math/special_functions/fpclassify.hpp misc/build/boost_1_55_0/boost/math/special_functions/fpclassify.hpp |
| --- misc/boost_1_55_0/boost/math/special_functions/fpclassify.hpp 2013-09-28 09:19:47.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/math/special_functions/fpclassify.hpp 2016-03-23 01:11:12.392773000 -0700 |
| @@ -348,7 +348,7 @@ |
| { //!< \brief return true if floating-point type t is finite. |
| typedef detail::fp_traits<long double>::type traits; |
| typedef traits::method method; |
| - typedef boost::is_floating_point<long double>::type fp_tag; |
| + //typedef boost::is_floating_point<long double>::type fp_tag; |
| typedef long double value_type; |
| return detail::isfinite_impl(static_cast<value_type>(x), method()); |
| } |
| @@ -419,7 +419,7 @@ |
| { |
| typedef detail::fp_traits<long double>::type traits; |
| typedef traits::method method; |
| - typedef boost::is_floating_point<long double>::type fp_tag; |
| + //typedef boost::is_floating_point<long double>::type fp_tag; |
| typedef long double value_type; |
| return detail::isnormal_impl(static_cast<value_type>(x), method()); |
| } |
| @@ -508,7 +508,7 @@ |
| { |
| typedef detail::fp_traits<long double>::type traits; |
| typedef traits::method method; |
| - typedef boost::is_floating_point<long double>::type fp_tag; |
| + //typedef boost::is_floating_point<long double>::type fp_tag; |
| typedef long double value_type; |
| return detail::isinf_impl(static_cast<value_type>(x), method()); |
| } |
| @@ -594,7 +594,7 @@ |
| { //!< \brief return true if floating-point type t is NaN (Not A Number). |
| typedef detail::fp_traits<long double>::type traits; |
| typedef traits::method method; |
| - typedef boost::is_floating_point<long double>::type fp_tag; |
| + //typedef boost::is_floating_point<long double>::type fp_tag; |
| return detail::isnan_impl(x, method()); |
| } |
| #endif |
| diff -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 |
| --- misc/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp 2008-06-22 08:05:38.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/spirit/home/classic/core/primitives/primitives.hpp 2016-03-23 01:11:12.407415000 -0700 |
| @@ -47,7 +47,6 @@ |
| typename parser_result<self_t, ScannerT>::type |
| parse(ScannerT const& scan) const |
| { |
| - typedef typename parser_result<self_t, ScannerT>::type result_t; |
| typedef typename ScannerT::value_t value_t; |
| typedef typename ScannerT::iterator_t iterator_t; |
| |
| diff -ur misc/boost_1_55_0/boost/static_assert.hpp misc/build/boost_1_55_0/boost/static_assert.hpp |
| --- misc/boost_1_55_0/boost/static_assert.hpp 2013-09-21 13:17:00.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/static_assert.hpp 2016-03-23 01:11:12.430683000 -0700 |
| @@ -67,7 +67,7 @@ |
| // |
| // If the compiler warns about unused typedefs then enable this: |
| // |
| -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) |
| +#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) || defined(__clang__) |
| # define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused)) |
| #else |
| # define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE |
| diff -ur misc/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp misc/build/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp |
| --- misc/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp 2011-01-02 12:25:11.000000000 -0800 |
| +++ misc/build/boost_1_55_0/boost/tuple/detail/tuple_basic.hpp 2016-03-23 01:11:12.435344000 -0700 |
| @@ -225,7 +225,6 @@ |
| get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { |
| typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE |
| apply<cons<HT, TT> > impl; |
| - typedef BOOST_DEDUCED_TYPENAME impl::type cons_element; |
| return impl::call(c).head; |
| } |
| |
| diff -ur misc/boost_1_55_0/boost/unordered/detail/equivalent.hpp misc/build/boost_1_55_0/boost/unordered/detail/equivalent.hpp |
| --- misc/boost_1_55_0/boost/unordered/detail/equivalent.hpp 2012-12-05 14:06:57.000000000 -0800 |
| +++ misc/build/boost_1_55_0/boost/unordered/detail/equivalent.hpp 2016-03-23 01:04:46.934774000 -0700 |
| @@ -534,11 +534,11 @@ |
| } |
| |
| node_pointer first_node = static_cast<node_pointer>(prev->next_); |
| - link_pointer end = first_node->group_prev_->next_; |
| + link_pointer end_var = first_node->group_prev_->next_; |
| |
| - std::size_t count = this->delete_nodes(prev, end); |
| + std::size_t count_var = this->delete_nodes(prev, end_var); |
| this->fix_bucket(bucket_index, prev); |
| - return count; |
| + return count_var; |
| } |
| |
| iterator erase(c_iterator r) |
| @@ -557,21 +557,21 @@ |
| return iterator(r2.node_); |
| } |
| |
| - link_pointer erase_nodes(node_pointer begin, node_pointer end) |
| + link_pointer erase_nodes(node_pointer begin_arg, node_pointer end_arg) |
| { |
| - std::size_t bucket_index = this->hash_to_bucket(begin->hash_); |
| + std::size_t bucket_index = this->hash_to_bucket(begin_arg->hash_); |
| |
| - // Split the groups containing 'begin' and 'end'. |
| + // Split the groups containing 'begin_arg' and 'end_arg'. |
| // And get the pointer to the node before begin while |
| // we're at it. |
| - link_pointer prev = split_groups(begin, end); |
| + link_pointer prev = split_groups(begin_arg, end_arg); |
| |
| - // If we don't have a 'prev' it means that begin is at the |
| + // If we don't have a 'prev' it means that begin_arg is at the |
| // beginning of a block, so search through the blocks in the |
| // same bucket. |
| if (!prev) { |
| prev = this->get_previous_start(bucket_index); |
| - while (prev->next_ != begin) |
| + while (prev->next_ != begin_arg) |
| prev = static_cast<node_pointer>(prev->next_)->group_prev_; |
| } |
| |
| @@ -581,24 +581,24 @@ |
| static_cast<node_pointer>(prev->next_)->group_prev_->next_; |
| this->delete_nodes(prev, group_end); |
| bucket_index = this->fix_bucket(bucket_index, prev); |
| - } while(prev->next_ != end); |
| + } while(prev->next_ != end_arg); |
| |
| return prev; |
| } |
| |
| - static link_pointer split_groups(node_pointer begin, node_pointer end) |
| + static link_pointer split_groups(node_pointer begin_arg, node_pointer end_arg) |
| { |
| - node_pointer prev = begin->group_prev_; |
| - if (prev->next_ != begin) prev = node_pointer(); |
| + node_pointer prev = begin_arg->group_prev_; |
| + if (prev->next_ != begin_arg) prev = node_pointer(); |
| |
| - if (end) { |
| - node_pointer first = end; |
| - while (first != begin && first->group_prev_->next_ == first) { |
| + if (end_arg) { |
| + node_pointer first = end_arg; |
| + while (first != begin_arg && first->group_prev_->next_ == first) { |
| first = first->group_prev_; |
| } |
| |
| - boost::swap(first->group_prev_, end->group_prev_); |
| - if (first == begin) return prev; |
| + boost::swap(first->group_prev_, end_arg->group_prev_); |
| + if (first == begin_arg) return prev; |
| } |
| |
| if (prev) { |
| @@ -606,7 +606,7 @@ |
| while (first->group_prev_->next_ == first) { |
| first = first->group_prev_; |
| } |
| - boost::swap(first->group_prev_, begin->group_prev_); |
| + boost::swap(first->group_prev_, begin_arg->group_prev_); |
| } |
| |
| return prev; |
| diff -ur misc/boost_1_55_0/boost/unordered/detail/table.hpp misc/build/boost_1_55_0/boost/unordered/detail/table.hpp |
| --- misc/boost_1_55_0/boost/unordered/detail/table.hpp 2013-08-18 02:44:14.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/unordered/detail/table.hpp 2016-03-23 01:04:46.936005000 -0700 |
| @@ -257,9 +257,9 @@ |
| return prev ? iterator(prev->next_) : iterator(); |
| } |
| |
| - std::size_t hash_to_bucket(std::size_t hash) const |
| + std::size_t hash_to_bucket(std::size_t hash_arg) const |
| { |
| - return policy::to_bucket(bucket_count_, hash); |
| + return policy::to_bucket(bucket_count_, hash_arg); |
| } |
| |
| float load_factor() const |
| @@ -655,8 +655,8 @@ |
| // assign_nodes takes ownership of the container's elements, |
| // assigning to them if possible, and deleting any that are |
| // left over. |
| - assign_nodes<table> assign(*this); |
| - table_impl::fill_buckets(x.begin(), *this, assign); |
| + assign_nodes<table> assign_var(*this); |
| + table_impl::fill_buckets(x.begin(), *this, assign_var); |
| } |
| |
| void assign(table const& x, true_type) |
| @@ -730,9 +730,9 @@ |
| // move_assign_nodes takes ownership of the container's |
| // elements, assigning to them if possible, and deleting |
| // any that are left over. |
| - move_assign_nodes<table> assign(*this); |
| + move_assign_nodes<table> assign_var(*this); |
| node_holder<node_allocator> nodes(x); |
| - table_impl::fill_buckets(nodes.begin(), *this, assign); |
| + table_impl::fill_buckets(nodes.begin(), *this, assign_var); |
| } |
| } |
| |
| diff -ur misc/boost_1_55_0/boost/unordered/detail/unique.hpp misc/build/boost_1_55_0/boost/unordered/detail/unique.hpp |
| --- misc/boost_1_55_0/boost/unordered/detail/unique.hpp 2013-08-18 02:44:14.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/unordered/detail/unique.hpp 2016-03-23 01:04:46.937066000 -0700 |
| @@ -529,9 +529,9 @@ |
| |
| link_pointer end = static_cast<node_pointer>(prev->next_)->next_; |
| |
| - std::size_t count = this->delete_nodes(prev, end); |
| + std::size_t count_var = this->delete_nodes(prev, end); |
| this->fix_bucket(bucket_index, prev); |
| - return count; |
| + return count_var; |
| } |
| |
| iterator erase(c_iterator r) |
| @@ -550,19 +550,19 @@ |
| return iterator(r2.node_); |
| } |
| |
| - void erase_nodes(node_pointer begin, node_pointer end) |
| + void erase_nodes(node_pointer begin_arg, node_pointer end_arg) |
| { |
| - std::size_t bucket_index = this->hash_to_bucket(begin->hash_); |
| + std::size_t bucket_index = this->hash_to_bucket(begin_arg->hash_); |
| |
| - // Find the node before begin. |
| + // Find the node before begin_arg |
| link_pointer prev = this->get_previous_start(bucket_index); |
| - while(prev->next_ != begin) prev = prev->next_; |
| + while(prev->next_ != begin_arg) prev = prev->next_; |
| |
| // Delete the nodes. |
| do { |
| this->delete_node(prev); |
| bucket_index = this->fix_bucket(bucket_index, prev); |
| - } while (prev->next_ != end); |
| + } while (prev->next_ != end_arg); |
| } |
| |
| //////////////////////////////////////////////////////////////////////// |
| diff -ur misc/boost_1_55_0/boost/config/compiler/gcc.hpp misc/build/boost_1_55_0/boost/config/compiler/gcc.hpp |
| --- misc/boost_1_55_0/boost/config/compiler/gcc.hpp 2013-09-17 09:55:51.000000000 -0700 |
| +++ misc/build/boost_1_55_0/boost/config/compiler/gcc.hpp 2019-11-04 09:59:20.741944674 -0800 |
| @@ -137,14 +137,18 @@ |
| |
| // C++0x features in 4.3.n and later |
| // |
| -#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__) |
| +#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (__cplusplus >= 201103L) |
| // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are |
| // passed on the command line, which in turn defines |
| // __GXX_EXPERIMENTAL_CXX0X__. |
| # define BOOST_HAS_DECLTYPE |
| # define BOOST_HAS_RVALUE_REFS |
| # define BOOST_HAS_STATIC_ASSERT |
| -# define BOOST_HAS_VARIADIC_TMPL |
| +# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)) |
| +# define BOOST_HAS_VARIADIC_TMPL |
| +# else |
| +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES |
| +# endif |
| #else |
| # define BOOST_NO_CXX11_DECLTYPE |
| # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS |
| @@ -153,7 +157,7 @@ |
| |
| // Variadic templates compiler: |
| // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html |
| -# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) |
| +# if defined(__VARIADIC_TEMPLATES) |
| # define BOOST_HAS_VARIADIC_TMPL |
| # else |
| # define BOOST_NO_CXX11_VARIADIC_TEMPLATES |