Update bundled boost to 1.53.0
Modify our patches as necessary to match the updated boost sources. Drop
patches for which corresponding (or even identical) changes already are
present. Add a new boostsystem static library and use it in two places.
Change-Id: Ib59558feb56dab87a69c91b38caca8e7a9e9a22e
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 973ebc5..0be2054 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -556,6 +556,24 @@ $(call gb_LinkTarget_add_libs,$(1),\
endef
define gb_LinkTarget__use_boostsystem
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
$(BOOST_CPPFLAGS) \
)
$(call gb_LinkTarget_add_ldflags,$(1),\
$(BOOST_LDFLAGS) \
)
$(call gb_LinkTarget_add_libs,$(1),\
$(BOOST_SYSTEM_LIB) \
)
endef
gb_ExternalProject__use_boostsystem :=
define gb_LinkTarget__use_boost_headers
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
@@ -570,6 +588,7 @@ else # !SYSTEM_BOOST
$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
boostdatetime \
boostsystem \
))
ifeq ($(OS),WNT)
@@ -600,6 +619,21 @@ $(call gb_LinkTarget_use_static_libraries,$(1),\
endef
define gb_LinkTarget__use_boostsystem
$(call gb_LinkTarget_add_defs,$(1),\
-DBOOST_ALL_NO_LIB \
)
$(call gb_LinkTarget_use_static_libraries,$(1),\
boostsystem \
)
endef
define gb_ExternalProject__use_boostsystem
$(call gb_LinkTarget_use_static_libraries,$(1),boostsystem)
endef
define gb_LinkTarget__use_boost_headers
$(call gb_LinkTarget_use_unpacked,$(1),boost)
$(call gb_LinkTarget_set_include,$(1),\
diff --git a/boost/Module_boost.mk b/boost/Module_boost.mk
index b9da8a7..9274e4a 100644
--- a/boost/Module_boost.mk
+++ b/boost/Module_boost.mk
@@ -13,6 +13,7 @@ ifeq ($(SYSTEM_BOOST),NO)
$(eval $(call gb_Module_add_targets,boost,\
StaticLibrary_boostdatetime \
StaticLibrary_boostsystem \
UnpackedTarball_boost \
))
diff --git a/boost/StaticLibrary_boostsystem.mk b/boost/StaticLibrary_boostsystem.mk
new file mode 100644
index 0000000..053321b
--- /dev/null
+++ b/boost/StaticLibrary_boostsystem.mk
@@ -0,0 +1,27 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,boostsystem))
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,boostsystem))
# disable "auto link" "feature" on MSVC
$(eval $(call gb_StaticLibrary_add_defs,boostsystem,\
-DBOOST_ALL_NO_LIB \
))
$(eval $(call gb_StaticLibrary_use_external,boostsystem,boost_headers))
$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boostsystem,cpp))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,boostsystem,\
UnpackedTarball/boost/libs/system/src/error_code \
))
# vim: set noet sw=4 ts=4:
diff --git a/boost/UnpackedTarball_boost.mk b/boost/UnpackedTarball_boost.mk
index ba497d0..274781a 100644
--- a/boost/UnpackedTarball_boost.mk
+++ b/boost/UnpackedTarball_boost.mk
@@ -8,64 +8,40 @@
#
boost_patches :=
#https://svn.boost.org/trac/boost/ticket/3093
boost_patches += boost.3093.warnings.patch
#https://svn.boost.org/trac/boost/ticket/3780
boost_patches += boost.3780.aliasing.patch
#https://svn.boost.org/trac/boost/ticket/4127
boost_patches += boost.4127.warnings.patch
#https://svn.boost.org/trac/boost/ticket/4713
boost_patches += boost.4713.warnings.patch
#https://svn.boost.org/trac/boost/ticket/5119
boost_patches += boost.5119.unordered_map-cp-ctor.patch
#http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
boost_patches += boost.gcc47679.patch
#https://svn.boost.org/trac/boost/ticket/6369
boost_patches += boost.6369.warnings.patch
#https://svn.boost.org/trac/boost/ticket/6397
boost_patches += boost.6397.warnings.patch
#backport from boost 1.48.0 fix for "opcode not supported on this processor"
boost_patches += boost.mipsbackport.patch
#https://svn.boost.org/trac/boost/ticket/7551
boost_patches += boost.7551.unusedvars.patch
boost_patches += boost.4100.warnings.patch
boost_patches += boost.4510.warnings.patch
#https://svn.boost.org/trac/boost/ticket/6139
boost_patches += boost.6139.clang.patch
#https://svn.boost.org/trac/boost/ticket/6940
boost_patches += boost.6940.glibc.patch
#https://svn.boost.org/trac/boost/ticket/7774
boost_patches += boost.7774.warnings.patch.1
#https://svn.boost.org/trac/boost/ticket/6142
boost_patches += boost.6142.warnings.patch.1
boost_patches += boost.wundef.patch.1
boost_patches += boost.windows.patch
boost_patches += boost.vc2012.patch
boost_patches += boost.libcdr.warnings.patch.1
# Help static analysis tools (see SAL_UNUSED_PARAMETER in sal/types.h):
ifeq (GCC,$(COM))
boost_patches += boost_1_44_0-unused-parameters.patch
boost_patches += boost_1_44_0-logical-op-parentheses.patch
endif
# Backporting fixes for the GCC 4.7 -std=c++11 mode from Boost 1.48.0:
boost_patches += boost_1_44_0-gcc4.7.patch
# Clang warnings:
boost_patches += boost_1_44_0-clang-warnings.patch
# Backport http://svn.boost.org/svn/boost/trunk r76133 "Fix threading detection
# in GCC-4.7 experimental":
boost_patches += boost_1_44_0-gthreads.patch
boost_patches += boost_1_44_0-gcc4.8.patch
# https://svn.boost.org/trac/boost/changeset/78496
boost_patches += boost.4874.patch
boost_patches += boost.ptree.patch
boost_patches += boost.loplugin.patch
boost_patches += boost.wundef.patch
boost_patches += boost.wshadow.patch
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
diff --git a/boost/boost.3093.warnings.patch b/boost/boost.3093.warnings.patch
deleted file mode 100755
index 1b2bf6d..0000000
--- a/boost/boost.3093.warnings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
--- misc/boost_1_44_0/boost/logic/tribool.hpp Sun Nov 25 18:07:19 2007
+++ misc/build/boost_1_44_0/boost/logic/tribool.hpp Fri May 17 12:03:35 2013
@@ -93,7 +93,7 @@
*
* \throws nothrow
*/
- tribool(bool value) : value(value? true_value : false_value) {}
+ tribool(bool initial_value) : value(initial_value? true_value : false_value) {}
/**
* Construct a new 3-state boolean value with an indeterminate value.
diff --git a/boost/boost.3780.aliasing.patch b/boost/boost.3780.aliasing.patch
index 5ca5ed0..f279e33 100644
--- a/boost/boost.3780.aliasing.patch
+++ b/boost/boost.3780.aliasing.patch
@@ -1,43 +1,23 @@
--- misc/boost_1_44_0/boost/function/function_base.hpp
+++ misc/build/boost_1_44_0/boost/function/function_base.hpp
@@ -2,6 +2,7 @@
// Copyright Douglas Gregor 2001-2006
// Copyright Emil Dotchevski 2007
+// Copyright Dean Michael Berris 2009
// Use, modification and distribution is subject to the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
@@ -44,6 +45,13 @@
# pragma warning( disable : 4127 ) // "conditional expression is constant"
#endif
+#if defined(__GNUC__)
+// Because GCC complains of strict aliasing problems, we make it
+// treat the header as a system header, becoming more forgiving with
+// treating implementation details that may be potentially harmful.
+# pragma GCC system_header
+#endif
+
// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
#ifdef BOOST_NO_STD_TYPEINFO
// Embedded VC++ does not have type_info in namespace std
@@ -314,15 +322,15 @@
{
if (op == clone_functor_tag || op == move_functor_tag) {
const functor_type* in_functor =
- reinterpret_cast<const functor_type*>(&in_buffer.data);
+ static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
new ((void*)&out_buffer.data) functor_type(*in_functor);
new (reinterpret_cast<void*>(&out_buffer.data)) functor_type(*in_functor);
if (op == move_functor_tag) {
- reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();
+ static_cast<functor_type*>(static_cast<void*>(&in_buffer.data))->~Functor();
- functor_type* f = reinterpret_cast<functor_type*>(&in_buffer.data);
+ functor_type* f = static_cast<functor_type*>(static_cast<void*>(&in_buffer.data));
(void)f; // suppress warning about the value of f not being used (MSVC)
f->~Functor();
}
} else if (op == destroy_functor_tag) {
// Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
- reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
+ static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor();
- functor_type* f = reinterpret_cast<functor_type*>(&out_buffer.data);
+ functor_type* f = static_cast<functor_type*>(static_cast<void*>(&out_buffer.data));
(void)f; // suppress warning about the value of f not being used (MSVC)
f->~Functor();
} else if (op == check_functor_type_tag) {
const detail::sp_typeinfo& check_type
= *out_buffer.type.type;
diff --git a/boost/boost.4127.warnings.patch b/boost/boost.4127.warnings.patch
deleted file mode 100644
index fe3c2bf..0000000
--- a/boost/boost.4127.warnings.patch
+++ /dev/null
@@ -1,21 +0,0 @@
--- misc/boost_1_44_0/boost/smart_ptr/make_shared.hpp
+++ misc/build/boost_1_44_0/boost/smart_ptr/make_shared.hpp
@@ -49,7 +49,18 @@
{
if( initialized_ )
{
+#if defined( __GNUC__ )
+
+ // fixes incorrect aliasing warning
+ T * p = reinterpret_cast< T* >( storage_.data_ );
+ p->~T();
+
+#else
+
reinterpret_cast< T* >( storage_.data_ )->~T();
+
+#endif
+
initialized_ = false;
}
}
diff --git a/boost/boost.4713.warnings.patch b/boost/boost.4713.warnings.patch
index d1224f6..7a5726e 100644
--- a/boost/boost.4713.warnings.patch
+++ b/boost/boost.4713.warnings.patch
@@ -72,20 +72,6 @@
BOOST_ASSERT( first <= last && "out of range unique()/erase_if()" );
BOOST_ASSERT( this->begin() <= first && "out of range unique()/erase_if()" );
BOOST_ASSERT( last <= this->end() && "out of range unique()/erase_if)(" );
--- misc/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp 2010-04-07 02:41:42.000000000 +0200
+++ misc/build/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp 2011-02-04 16:39:19.000000000 +0100
@@ -222,9 +222,9 @@
error_status(
result_t result_ = fail,
- std::ptrdiff_t length = -1,
+ std::ptrdiff_t length_ = -1,
T const& value_ = T())
- : result(result_), length(length), value(value_) {}
+ : result(result_), length(length_), value(value_) {}
result_t result;
std::ptrdiff_t length;
--- misc/boost_1_44_0/boost/spirit/home/classic/symbols/symbols.hpp 2008-06-22 17:05:38.000000000 +0200
+++ misc/build/boost_1_44_0/boost/spirit/home/classic/symbols/symbols.hpp 2011-02-04 16:39:19.000000000 +0100
@@ -102,13 +102,13 @@
@@ -106,563 +92,6 @@
first,
scan.first);
else
--- misc/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp 2008-06-22 17:05:38.000000000 +0200
+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp 2011-02-04 16:39:19.000000000 +0100
@@ -54,13 +54,13 @@
typedef typename ScannerT::iterator_t iterator_t;
iterator_t const s(scan.first);
- functor_result_t result;
- std::ptrdiff_t len = functor(scan, result);
+ functor_result_t functor_result;
+ std::ptrdiff_t len = functor(scan, functor_result);
if (len < 0)
return scan.no_match();
else
- return scan.create_match(std::size_t(len), result, s, scan.first);
+ return scan.create_match(std::size_t(len), functor_result, s, scan.first);
}
};
--- misc/boost_1_44_0/boost/spirit/home/classic/utility/loops.hpp 2008-06-22 17:05:38.000000000 +0200
+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/loops.hpp 2011-02-04 16:39:19.000000000 +0100
@@ -47,8 +47,8 @@
typedef fixed_loop<ParserT, ExactT> self_t;
typedef unary<ParserT, parser<self_t> > base_t;
- fixed_loop (ParserT const & subject, ExactT const & exact)
- : base_t(subject), m_exact(exact) {}
+ fixed_loop (ParserT const & subject_, ExactT const & exact)
+ : base_t(subject_), m_exact(exact) {}
template <typename ScannerT>
typename parser_result <self_t, ScannerT>::type
@@ -112,8 +112,8 @@
typedef finite_loop <ParserT, MinT, MaxT> self_t;
typedef unary<ParserT, parser<self_t> > base_t;
- finite_loop (ParserT const & subject, MinT const & min, MaxT const & max)
- : base_t(subject), m_min(min), m_max(max) {}
+ finite_loop (ParserT const & subject_, MinT const & min, MaxT const & max)
+ : base_t(subject_), m_min(min), m_max(max) {}
template <typename ScannerT>
typename parser_result <self_t, ScannerT>::type
@@ -196,11 +196,11 @@
typedef unary<ParserT, parser<self_t> > base_t;
infinite_loop (
- ParserT const& subject,
+ ParserT const& subject_,
MinT const& min,
more_t const&
)
- : base_t(subject), m_min(min) {}
+ : base_t(subject_), m_min(min) {}
template <typename ScannerT>
typename parser_result <self_t, ScannerT>::type
@@ -253,9 +253,9 @@
template <typename ParserT>
fixed_loop <ParserT, ExactT>
- operator[](parser <ParserT> const & subject) const
+ operator[](parser <ParserT> const & subject_) const
{
- return fixed_loop <ParserT, ExactT> (subject.derived (), m_exact);
+ return fixed_loop <ParserT, ExactT> (subject_.derived (), m_exact);
}
ExactT m_exact;
@@ -283,11 +283,11 @@
template <typename ParserT>
typename impl::loop_traits<ParserT, MinT, MaxT>::type
- operator[](parser <ParserT> const & subject) const
+ operator[](parser <ParserT> const & subject_) const
{
typedef typename impl::loop_traits<ParserT, MinT, MaxT>::type ret_t;
return ret_t(
- subject.derived(),
+ subject_.derived(),
m_min,
m_max);
}
--- misc/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-04 16:55:26.000000000 +0100
+++ misc/build/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-05 03:34:26.000000000 +0100
@@ -33,10 +33,10 @@
template <class T>
template <class Key, class Pred>
inline BOOST_DEDUCED_TYPENAME T::node_ptr
- hash_table<T>::find_iterator(bucket_ptr bucket, Key const& k,
+ hash_table<T>::find_iterator(bucket_ptr bucket_, Key const& k,
Pred const& eq) const
{
- node_ptr it = bucket->next_;
+ node_ptr it = bucket_->next_;
while (BOOST_UNORDERED_BORLAND_BOOL(it) &&
!eq(k, get_key(node::get_value(it))))
{
@@ -50,9 +50,9 @@
template <class T>
inline BOOST_DEDUCED_TYPENAME T::node_ptr
hash_table<T>::find_iterator(
- bucket_ptr bucket, key_type const& k) const
+ bucket_ptr bucket_, key_type const& k) const
{
- node_ptr it = bucket->next_;
+ node_ptr it = bucket_->next_;
while (BOOST_UNORDERED_BORLAND_BOOL(it) &&
!equal(k, node::get_value(it)))
{
@@ -75,9 +75,9 @@
template <class T>
inline BOOST_DEDUCED_TYPENAME T::node_ptr*
hash_table<T>::find_for_erase(
- bucket_ptr bucket, key_type const& k) const
+ bucket_ptr bucket_, key_type const& k) const
{
- node_ptr* it = &bucket->next_;
+ node_ptr* it = &bucket_->next_;
while(BOOST_UNORDERED_BORLAND_BOOL(*it) &&
!equal(k, node::get_value(*it)))
{
@@ -475,7 +475,7 @@
{
hasher const& hf = this->hash_function();
std::size_t size = this->size_;
- bucket_ptr end = this->get_bucket(this->bucket_count_);
+ bucket_ptr end_ = this->get_bucket(this->bucket_count_);
buckets dst(this->node_alloc(), num_buckets);
dst.create_buckets();
@@ -484,10 +484,10 @@
src.swap(*this);
this->size_ = 0;
- for(bucket_ptr bucket = this->cached_begin_bucket_;
- bucket != end; ++bucket)
+ for(bucket_ptr bucket_ = this->cached_begin_bucket_;
+ bucket_ != end_; ++bucket_)
{
- node_ptr group = bucket->next_;
+ node_ptr group = bucket_->next_;
while(group) {
// Move the first group of equivalent nodes in bucket to dst.
@@ -496,10 +496,10 @@
hf(get_key_from_ptr(group)));
node_ptr& next_group = node::next_group(group);
- bucket->next_ = next_group;
+ bucket_->next_ = next_group;
next_group = dst_bucket->next_;
dst_bucket->next_ = group;
- group = bucket->next_;
+ group = bucket_->next_;
}
}
@@ -525,13 +525,13 @@
BOOST_ASSERT(this->buckets_ && !dst.buckets_);
hasher const& hf = this->hash_function();
- bucket_ptr end = this->get_bucket(this->bucket_count_);
+ bucket_ptr end_ = this->get_bucket(this->bucket_count_);
node_constructor a(dst);
dst.create_buckets();
// no throw:
- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i) {
+ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i) {
// no throw:
for(node_ptr it = i->next_; it;) {
// hash function can throw.
@@ -579,11 +579,11 @@
{
if(!this->size_) return this->end();
- bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- node_ptr it = find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k));
+ node_ptr it = find_iterator(bucket_, k);
if (BOOST_UNORDERED_BORLAND_BOOL(it))
- return iterator_base(bucket, it);
+ return iterator_base(bucket_, it);
else
return this->end();
}
@@ -595,11 +595,11 @@
{
if(!this->size_) return this->end();
- bucket_ptr bucket = this->get_bucket(h(k) % this->bucket_count_);
- node_ptr it = find_iterator(bucket, k, eq);
+ bucket_ptr bucket_ = this->get_bucket(h(k) % this->bucket_count_);
+ node_ptr it = find_iterator(bucket_, k, eq);
if (BOOST_UNORDERED_BORLAND_BOOL(it))
- return iterator_base(bucket, it);
+ return iterator_base(bucket_, it);
else
return this->end();
}
@@ -611,8 +611,8 @@
if(!this->size_)
boost::throw_exception(std::out_of_range("Unable to find key in unordered_map."));
- bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- node_ptr it = find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k));
+ node_ptr it = find_iterator(bucket_, k);
if (!it)
boost::throw_exception(std::out_of_range("Unable to find key in unordered_map."));
@@ -630,10 +630,10 @@
if(!this->size_)
return iterator_pair(this->end(), this->end());
- bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- node_ptr it = find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k));
+ node_ptr it = find_iterator(bucket_, k);
if (BOOST_UNORDERED_BORLAND_BOOL(it)) {
- iterator_base first(iterator_base(bucket, it));
+ iterator_base first(iterator_base(bucket_, it));
iterator_base second(first);
second.increment_bucket(node::next_group(second.node_));
return iterator_pair(first, second);
@@ -651,26 +651,26 @@
{
if(!this->size_) return;
- bucket_ptr end = this->get_bucket(this->bucket_count_);
- for(bucket_ptr begin = this->buckets_; begin != end; ++begin) {
- this->clear_bucket(begin);
+ bucket_ptr end_ = this->get_bucket(this->bucket_count_);
+ for(bucket_ptr begin_ = this->buckets_; begin_ != end_; ++begin_) {
+ this->clear_bucket(begin_);
}
this->size_ = 0;
- this->cached_begin_bucket_ = end;
+ this->cached_begin_bucket_ = end_;
}
template <class T>
inline std::size_t hash_table<T>::erase_group(
- node_ptr* it, bucket_ptr bucket)
+ node_ptr* it, bucket_ptr bucket_)
{
node_ptr pos = *it;
- node_ptr end = node::next_group(pos);
- *it = end;
- std::size_t count = this->delete_nodes(pos, end);
- this->size_ -= count;
- this->recompute_begin_bucket(bucket);
- return count;
+ node_ptr end_ = node::next_group(pos);
+ *it = end_;
+ std::size_t count_ = this->delete_nodes(pos, end_);
+ this->size_ -= count_;
+ this->recompute_begin_bucket(bucket_);
+ return count_;
}
template <class T>
@@ -679,11 +679,11 @@
if(!this->size_) return 0;
// No side effects in initial section
- bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- node_ptr* it = this->find_for_erase(bucket, k);
+ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k));
+ node_ptr* it = this->find_for_erase(bucket_, k);
// No throw.
- return *it ? this->erase_group(it, bucket) : 0;
+ return *it ? this->erase_group(it, bucket_) : 0;
}
template <class T>
@@ -766,12 +766,12 @@
std::size_t hash_value = this->hash_function()(k);
if(this->buckets_) this->reserve_for_insert(size);
else this->create_for_insert(size);
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
node_ptr n = a.release();
- node::add_to_bucket(n, *bucket);
+ node::add_to_bucket(n, *bucket_);
++this->size_;
- this->cached_begin_bucket_ = bucket;
- return iterator_base(bucket, n);
+ this->cached_begin_bucket_ = bucket_;
+ return iterator_base(bucket_, n);
}
}}
--- misc/boost_1_44_0/boost/unordered/detail/unique.hpp 2011-02-05 03:28:39.000000000 +0100
+++ misc/build/boost_1_44_0/boost/unordered/detail/unique.hpp 2011-02-05 03:36:54.000000000 +0100
@@ -57,7 +57,7 @@
bool equals(hash_unique_table const&) const;
- node_ptr add_node(node_constructor& a, bucket_ptr bucket);
+ node_ptr add_node(node_constructor& a, bucket_ptr bucket_);
#if defined(BOOST_UNORDERED_STD_FORWARD)
@@ -135,8 +135,8 @@
if(this->size_ != other.size_) return false;
if(!this->size_) return true;
- bucket_ptr end = this->get_bucket(this->bucket_count_);
- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i)
+ bucket_ptr end_ = this->get_bucket(this->bucket_count_);
+ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i)
{
node_ptr it1 = i->next_;
while(BOOST_UNORDERED_BORLAND_BOOL(it1))
@@ -159,13 +159,13 @@
template <class T>
inline BOOST_DEDUCED_TYPENAME hash_unique_table<T>::node_ptr
hash_unique_table<T>::add_node(node_constructor& a,
- bucket_ptr bucket)
+ bucket_ptr bucket_)
{
node_ptr n = a.release();
- node::add_to_bucket(n, *bucket);
+ node::add_to_bucket(n, *bucket_);
++this->size_;
- if(bucket < this->cached_begin_bucket_)
- this->cached_begin_bucket_ = bucket;
+ if(bucket_ < this->cached_begin_bucket_)
+ this->cached_begin_bucket_ = bucket_;
return n;
}
@@ -181,7 +181,7 @@
typedef BOOST_DEDUCED_TYPENAME value_type::second_type mapped_type;
std::size_t hash_value = this->hash_function()(k);
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
if(!this->buckets_) {
node_constructor a(*this);
@@ -189,7 +189,7 @@
return *this->emplace_empty_impl_with_node(a, 1);
}
- node_ptr pos = this->find_iterator(bucket, k);
+ node_ptr pos = this->find_iterator(bucket_, k);
if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
return node::get_value(pos);
@@ -205,11 +205,11 @@
// reserve has basic exception safety if the hash function
// throws, strong otherwise.
if(this->reserve_for_insert(this->size_ + 1))
- bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ = this->bucket_ptr_from_hash(hash_value);
// Nothing after this point can throw.
- return node::get_value(add_node(a, bucket));
+ return node::get_value(add_node(a, bucket_));
}
}
@@ -220,22 +220,22 @@
// No side effects in this initial code
key_type const& k = this->get_key(a.value());
std::size_t hash_value = this->hash_function()(k);
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = this->find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
+ node_ptr pos = this->find_iterator(bucket_, k);
if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
// Found an existing key, return it (no throw).
- return emplace_return(iterator_base(bucket, pos), false);
+ return emplace_return(iterator_base(bucket_, pos), false);
} else {
// reserve has basic exception safety if the hash function
// throws, strong otherwise.
if(this->reserve_for_insert(this->size_ + 1))
- bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ = this->bucket_ptr_from_hash(hash_value);
// Nothing after this point can throw.
return emplace_return(
- iterator_base(bucket, add_node(a, bucket)),
+ iterator_base(bucket_, add_node(a, bucket_)),
true);
}
}
@@ -250,12 +250,12 @@
{
// No side effects in this initial code
std::size_t hash_value = this->hash_function()(k);
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = this->find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
+ node_ptr pos = this->find_iterator(bucket_, k);
if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
// Found an existing key, return it (no throw).
- return emplace_return(iterator_base(bucket, pos), false);
+ return emplace_return(iterator_base(bucket_, pos), false);
} else {
// Doesn't already exist, add to bucket.
@@ -269,12 +269,12 @@
// reserve has basic exception safety if the hash function
// throws, strong otherwise.
if(this->reserve_for_insert(this->size_ + 1))
- bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ = this->bucket_ptr_from_hash(hash_value);
// Nothing after this point can throw.
return emplace_return(
- iterator_base(bucket, add_node(a, bucket)),
+ iterator_base(bucket_, add_node(a, bucket_)),
true);
}
}
@@ -313,21 +313,21 @@
BOOST_UNORDERED_FUNCTION_PARAMS(z, num_params)) \
{ \
std::size_t hash_value = this->hash_function()(k); \
- bucket_ptr bucket \
+ bucket_ptr bucket_ \
= this->bucket_ptr_from_hash(hash_value); \
- node_ptr pos = this->find_iterator(bucket, k); \
+ node_ptr pos = this->find_iterator(bucket_, k); \
\
if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { \
- return emplace_return(iterator_base(bucket, pos), false); \
+ return emplace_return(iterator_base(bucket_, pos), false); \
} else { \
node_constructor a(*this); \
a.construct(BOOST_UNORDERED_CALL_PARAMS(z, num_params)); \
\
if(this->reserve_for_insert(this->size_ + 1)) \
- bucket = this->bucket_ptr_from_hash(hash_value); \
+ bucket_ = this->bucket_ptr_from_hash(hash_value); \
\
- return emplace_return(iterator_base(bucket, \
- add_node(a, bucket)), true); \
+ return emplace_return(iterator_base(bucket_, \
+ add_node(a, bucket_)), true); \
} \
} \
\
@@ -441,8 +441,8 @@
// different second_type.
key_type const& k = extractor::extract(*i);
std::size_t hash_value = this->hash_function()(k);
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = this->find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
+ node_ptr pos = this->find_iterator(bucket_, k);
if (!BOOST_UNORDERED_BORLAND_BOOL(pos)) {
// Doesn't already exist, add to bucket.
@@ -456,11 +456,11 @@
// throws, strong otherwise.
if(this->size_ + 1 >= this->max_load_) {
this->reserve_for_insert(this->size_ + insert_size(i, j));
- bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ = this->bucket_ptr_from_hash(hash_value);
}
// Nothing after this point can throw.
- add_node(a, bucket);
+ add_node(a, bucket_);
}
} while(++i != j);
}
--- misc/boost_1_44_0/boost/unordered/detail/equivalent.hpp 2010-06-09 01:23:43.000000000 +0200
+++ misc/build/boost_1_44_0/boost/unordered/detail/equivalent.hpp 2011-02-05 04:15:47.000000000 +0100
@@ -57,7 +57,7 @@
bool equals(hash_equivalent_table const&) const;
inline node_ptr add_node(node_constructor& a,
- bucket_ptr bucket, node_ptr pos);
+ bucket_ptr bucket_, node_ptr pos);
#if defined(BOOST_UNORDERED_STD_FORWARD)
@@ -117,8 +117,8 @@
if(this->size_ != other.size_) return false;
if(!this->size_) return true;
- bucket_ptr end = this->get_bucket(this->bucket_count_);
- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i)
+ bucket_ptr end_ = this->get_bucket(this->bucket_count_);
+ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i)
{
node_ptr it1 = i->next_;
while(BOOST_UNORDERED_BORLAND_BOOL(it1))
@@ -149,16 +149,16 @@
template <class T>
inline BOOST_DEDUCED_TYPENAME hash_equivalent_table<T>::node_ptr
hash_equivalent_table<T>
- ::add_node(node_constructor& a, bucket_ptr bucket, node_ptr pos)
+ ::add_node(node_constructor& a, bucket_ptr bucket_, node_ptr pos)
{
node_ptr n = a.release();
if(BOOST_UNORDERED_BORLAND_BOOL(pos)) {
node::add_after_node(n, pos);
}
else {
- node::add_to_bucket(n, *bucket);
- if(bucket < this->cached_begin_bucket_)
- this->cached_begin_bucket_ = bucket;
+ node::add_to_bucket(n, *bucket_);
+ if(bucket_ < this->cached_begin_bucket_)
+ this->cached_begin_bucket_ = bucket_;
}
++this->size_;
return n;
@@ -179,15 +179,15 @@
return this->emplace_empty_impl_with_node(a, 1);
}
else {
- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr position = this->find_iterator(bucket, k);
+ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value);
+ node_ptr position = this->find_iterator(bucket_, k);
// reserve has basic exception safety if the hash function
// throws, strong otherwise.
if(this->reserve_for_insert(this->size_ + 1))
- bucket = this->bucket_ptr_from_hash(hash_value);
+ bucket_ = this->bucket_ptr_from_hash(hash_value);
- return iterator_base(bucket, add_node(a, bucket, position));
+ return iterator_base(bucket_, add_node(a, bucket_, position));
}
}
@@ -196,8 +196,8 @@
::emplace_impl_no_rehash(node_constructor& a)
{
key_type const& k = this->get_key(a.value());
- bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- add_node(a, bucket, this->find_iterator(bucket, k));
+ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k));
+ add_node(a, bucket_, this->find_iterator(bucket_, k));
}
#if defined(BOOST_UNORDERED_STD_FORWARD)
--- misc/boost_1_44_0/boost/ptr_container/exception.hpp 2011-02-05 09:42:56.074932485 +0000
+++ misc/build/boost_1_44_0/boost/ptr_container/exception.hpp 2011-02-05 09:43:00.350931536 +0000
@@ -24,7 +24,7 @@
@@ -838,61 +267,6 @@
}
public: // algorithms
--- misc/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:04:57.999046223 +0000
+++ misc/build/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:05:44.260588237 +0000
@@ -119,7 +119,7 @@
// From 6.3.1/13:
// Only resize when size >= mlf_ * count
- return double_to_size_t(ceil((double) mlf_ * this->bucket_count_));
+ return double_to_size_t(ceil((double)mlf_ * (double)this->bucket_count_));
}
template <class T>
@@ -145,7 +145,7 @@
//
// Or from rehash post-condition:
// count > size / mlf_
- return next_prime(double_to_size_t(floor(size / (double) mlf_)) + 1);
+ return next_prime(double_to_size_t(floor((double)size / (double)mlf_)) + 1);
}
////////////////////////////////////////////////////////////////////////////
--- misc/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:50:52.173229648 +0000
+++ misc/build/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:52:36.824433976 +0000
@@ -53,7 +53,7 @@
v = ldexp(v, limits<std::size_t>::digits);
std::size_t seed = static_cast<std::size_t>(v);
- v -= seed;
+ v -= static_cast<T>(seed);
// ceiling(digits(T) * log2(radix(T))/ digits(size_t)) - 1;
std::size_t const length
@@ -66,7 +66,7 @@
{
v = ldexp(v, limits<std::size_t>::digits);
std::size_t part = static_cast<std::size_t>(v);
- v -= part;
+ v -= static_cast<T>(part);
hash_float_combine(seed, part);
}
--- misc/boost_1_44_0/boost/dynamic_bitset.hpp 2011-02-28 17:10:13.892131527 +0000
+++ misc/build/boost_1_44_0/boost/dynamic_bitset/dynamic_bitset.hpp 2011-02-28 17:11:05.868726195 +0000
@@ -1108,10 +1108,10 @@
// beyond the "allowed" positions
typedef unsigned long result_type;
- const size_type max_size =
+ const size_type max_size_ =
(std::min)(m_num_bits, static_cast<size_type>(ulong_width));
- const size_type last_block = block_index( max_size - 1 );
+ const size_type last_block = block_index( max_size_ - 1 );
assert((last_block * bits_per_block) < static_cast<size_type>(ulong_width));
--- misc/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-03-04 11:33:36.269274940 +0000
+++ misc/build/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-03-04 11:33:36.269274940 +0000
@@ -259,6 +259,10 @@
@@ -906,171 +280,3 @@
if( !allow_null )
{
BOOST_PTR_CONTAINER_THROW_EXCEPTION( 0 == x && "null not allowed",
--- misc/boost_1_44_0/boost/pool/object_pool.hpp 2011-07-14 16:08:31.672964851 +0100
+++ misc/build/boost_1_44_0/boost/pool/object_pool.hpp 2011-07-14 16:09:20.851594534 +0100
@@ -53,8 +53,8 @@
public:
// This constructor parameter is an extension!
- explicit object_pool(const size_type next_size = 32)
- :pool<UserAllocator>(sizeof(T), next_size) { }
+ explicit object_pool(const size_type next_size_ = 32)
+ :pool<UserAllocator>(sizeof(T), next_size_) { }
~object_pool();
--- misc/boost_1_44_0/libs/date_time/src/gregorian/greg_month.cpp 2008-11-23 12:13:35.000000000 +0100
+++ misc/build/boost_1_44_0/libs/date_time/src/gregorian/greg_month.cpp 2011-10-05 16:56:34.627320523 +0200
@@ -108,7 +108,7 @@
*/
BOOST_DATE_TIME_DECL
boost::date_time::all_date_names_put<greg_facet_config, char>*
- create_facet_def(char type)
+ create_facet_def(char /* type */)
{
typedef
boost::date_time::all_date_names_put<greg_facet_config, char> facet_def;
@@ -121,7 +121,7 @@
}
//! generates a locale with the set of gregorian name-strings of type char*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, char type){
+ BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, char /* type */){
typedef boost::date_time::all_date_names_put<greg_facet_config, char> facet_def;
return std::locale(loc, new facet_def(short_month_names,
long_month_names,
@@ -139,7 +139,7 @@
*/
BOOST_DATE_TIME_DECL
boost::date_time::all_date_names_put<greg_facet_config, wchar_t>*
- create_facet_def(wchar_t type)
+ create_facet_def(wchar_t /* type */)
{
typedef
boost::date_time::all_date_names_put<greg_facet_config,wchar_t> facet_def;
@@ -152,7 +152,7 @@
}
//! generates a locale with the set of gregorian name-strings of type wchar_t*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, wchar_t type){
+ BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, wchar_t /* type */){
typedef boost::date_time::all_date_names_put<greg_facet_config, wchar_t> facet_def;
return std::locale(loc, new facet_def(w_short_month_names,
w_long_month_names,
--- misc/boost_1_44_0/boost/date_time/time_facet.hpp 2012-08-20 09:12:51.552094137 +0100
+++ misc/build/boost_1_44_0/boost/date_time/time_facet.hpp 2012-08-20 09:10:07.884255317 +0100
@@ -439,31 +439,31 @@
a_time_dur.get_rep().as_special());
}
- string_type format(m_time_duration_format);
+ string_type lcl_format(m_time_duration_format);
if (a_time_dur.is_negative()) {
// replace %- with minus sign. Should we use the numpunct facet?
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
duration_sign_negative_only,
negative_sign);
// remove all the %+ in the string with '-'
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
duration_sign_always,
negative_sign);
}
else { //duration is positive
// remove all the %- combos from the string
- boost::algorithm::erase_all(format, duration_sign_negative_only);
+ boost::algorithm::erase_all(lcl_format, duration_sign_negative_only);
// remove all the %+ in the string with '+'
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
duration_sign_always,
positive_sign);
}
// %T and %R have to be replaced here since they are not standard
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
boost::as_literal(formats_type::full_24_hour_time_format),
boost::as_literal(formats_type::full_24_hour_time_expanded_format));
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
boost::as_literal(formats_type::short_24_hour_time_format),
boost::as_literal(formats_type::short_24_hour_time_expanded_format));
@@ -476,22 +476,22 @@
* here ourself.
*/
string_type hours_str;
- if (format.find(unrestricted_hours_format) != string_type::npos) {
+ if (lcl_format.find(unrestricted_hours_format) != string_type::npos) {
hours_str = hours_as_string(a_time_dur);
- boost::algorithm::replace_all(format, unrestricted_hours_format, hours_str);
+ boost::algorithm::replace_all(lcl_format, unrestricted_hours_format, hours_str);
}
// We still have to process restricted hours format specifier. In order to
// support parseability of durations in ISO format (%H%M%S), we'll have to
// restrict the stringified hours length to 2 characters.
- if (format.find(hours_format) != string_type::npos) {
+ if (lcl_format.find(hours_format) != string_type::npos) {
if (hours_str.empty())
hours_str = hours_as_string(a_time_dur);
BOOST_ASSERT(hours_str.length() <= 2);
- boost::algorithm::replace_all(format, hours_format, hours_str);
+ boost::algorithm::replace_all(lcl_format, hours_format, hours_str);
}
string_type frac_str;
- if (format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
+ if (lcl_format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
// replace %s with %S.nnn
frac_str =
fractional_seconds_as_string(a_time_dur, false);
@@ -500,21 +500,21 @@
string_type replace_string(seconds_format);
replace_string += sep;
replace_string += frac_str;
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
seconds_with_fractional_seconds_format,
replace_string);
}
- if (format.find(fractional_seconds_format) != string_type::npos) {
+ if (lcl_format.find(fractional_seconds_format) != string_type::npos) {
// replace %f with nnnnnnn
if (!frac_str.size()) {
frac_str = fractional_seconds_as_string(a_time_dur, false);
}
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
fractional_seconds_format,
frac_str);
}
- if (format.find(fractional_seconds_or_none_format) != string_type::npos) {
+ if (lcl_format.find(fractional_seconds_or_none_format) != string_type::npos) {
// replace %F with nnnnnnn or nothing if fs == 0
frac_str =
fractional_seconds_as_string(a_time_dur, true);
@@ -523,18 +523,18 @@
string_type replace_string;
replace_string += sep;
replace_string += frac_str;
- boost::algorithm::replace_all(format,
+ boost::algorithm::replace_all(lcl_format,
fractional_seconds_or_none_format,
replace_string);
}
else {
- boost::algorithm::erase_all(format,
+ boost::algorithm::erase_all(lcl_format,
fractional_seconds_or_none_format);
}
}
return this->do_put_tm(a_next, a_ios, a_fill,
- to_tm(a_time_dur), format);
+ to_tm(a_time_dur), lcl_format);
}
OutItrT put(OutItrT next, std::ios_base& a_ios,
diff --git a/boost/boost.4874.patch b/boost/boost.4874.patch
index 7dbd33d..c401cf7 100644
--- a/boost/boost.4874.patch
+++ b/boost/boost.4874.patch
@@ -10,14 +10,6 @@ Index: branches/release/boost/multi_array/base.hpp
#include "boost/multi_array/extent_range.hpp"
#include "boost/multi_array/extent_gen.hpp"
#include "boost/multi_array/index_range.hpp"
@@ -82,5 +82,6 @@
class const_sub_array;
-template <typename T, typename TPtr, typename NumDims, typename Reference>
+ template <typename T, typename TPtr, typename NumDims, typename Reference,
+ typename IteratorCategory>
class array_iterator;
@@ -252,5 +253,17 @@
/////////////////////////////////////////////////////////////////////////
@@ -37,23 +29,6 @@ Index: branches/release/boost/multi_array/base.hpp
+#endif
////////////////////////////////////////////////////////////////////////
@@ -302,6 +315,14 @@
// iterator support
//
- typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference> iterator;
- typedef array_iterator<T,T const*,mpl::size_t<NumDims>,const_reference> const_iterator;
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
+ // Deal with VC 2010 output_iterator_tag requirement
+ typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
+ mutable_iterator_tag> iterator;
+#else
+ typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
+ boost::random_access_traversal_tag> iterator;
+#endif
+ typedef array_iterator<T,T const*,mpl::size_t<NumDims>,const_reference,
+ boost::random_access_traversal_tag> const_iterator;
typedef ::boost::reverse_iterator<iterator> reverse_iterator;
@@ -322,5 +343,6 @@
const index* strides,
const index* index_bases) const {
@@ -62,23 +37,6 @@ Index: branches/release/boost/multi_array/base.hpp
+ detail::multi_array::CollectionConcept<IndexList> >();
ignore_unused_variable_warning(index_bases);
ignore_unused_variable_warning(extents);
@@ -333,7 +355,13 @@
index offset = 0;
- for (size_type n = 0; n != NumDims; ++n)
- offset += indices[n] * strides[n];
-
+ {
+ typename IndexList::const_iterator i = indices.begin();
+ size_type n = 0;
+ while (n != NumDims) {
+ offset += (*i) * strides[n];
+ ++n;
+ ++i;
+ }
+ }
return base[offset];
}
Index: branches/release/boost/multi_array/concept_checks.hpp
===================================================================
--- a/branches/release/boost/multi_array/concept_checks.hpp
@@ -89,52 +47,3 @@ Index: branches/release/boost/multi_array/concept_checks.hpp
+ function_requires< boost::OutputIterator<iterator,value_type> >();
// RG - a( CollectionArchetype) when available...
Index: branches/release/boost/multi_array/iterator.hpp
===================================================================
--- a/branches/release/boost/multi_array/iterator.hpp
+++ b/branches/release/boost/multi_array/iterator.hpp
@@ -45,14 +45,16 @@
};
-template <typename T, typename TPtr, typename NumDims, typename Reference>
+template <typename T, typename TPtr, typename NumDims, typename Reference,
+ typename IteratorCategory>
class array_iterator;
-template <typename T, typename TPtr, typename NumDims, typename Reference>
+template <typename T, typename TPtr, typename NumDims, typename Reference,
+ typename IteratorCategory>
class array_iterator
: public
iterator_facade<
- array_iterator<T,TPtr,NumDims,Reference>
+ array_iterator<T,TPtr,NumDims,Reference,IteratorCategory>
, typename associated_types<T,NumDims>::value_type
- , boost::random_access_traversal_tag
+ , IteratorCategory
, Reference
>
@@ -70,5 +72,5 @@
typedef iterator_facade<
- array_iterator<T,TPtr,NumDims,Reference>
+ array_iterator<T,TPtr,NumDims,Reference,IteratorCategory>
, typename detail::multi_array::associated_types<T,NumDims>::value_type
, boost::random_access_traversal_tag
@@ -80,5 +82,5 @@
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
- template <typename, typename, typename, typename>
+ template <typename, typename, typename, typename, typename>
friend class array_iterator;
#else
@@ -106,7 +108,7 @@
strides_(strides), index_base_(index_base) { }
- template <typename OPtr, typename ORef>
+ template <typename OPtr, typename ORef, typename Cat>
array_iterator(
- const array_iterator<T,OPtr,NumDims,ORef>& rhs
+ const array_iterator<T,OPtr,NumDims,ORef,Cat>& rhs
, typename boost::enable_if_convertible<OPtr,TPtr>::type* = 0
)
diff --git a/boost/boost.5119.unordered_map-cp-ctor.patch b/boost/boost.5119.unordered_map-cp-ctor.patch
deleted file mode 100644
index 42e7175..0000000
--- a/boost/boost.5119.unordered_map-cp-ctor.patch
+++ /dev/null
@@ -1,92 +0,0 @@
Index: /trunk/boost/unordered/unordered_set.hpp
===================================================================
--- misc/boost_1_44_0/boost/unordered/unordered_set.hpp (revision 60754)
+++ misc/build/boost_1_44_0/boost/unordered/unordered_set.hpp (revision 68445)
@@ -155,4 +155,9 @@
#if !defined(BOOST_NO_RVALUE_REFERENCES)
+ unordered_set(unordered_set const& other)
+ : table_(other.table_)
+ {
+ }
+
unordered_set(unordered_set&& other)
: table_(other.table_, boost::unordered_detail::move_tag())
@@ -163,4 +168,10 @@
: table_(other.table_, a, boost::unordered_detail::move_tag())
{
+ }
+
+ unordered_set& operator=(unordered_set const& x)
+ {
+ table_ = x.table_;
+ return *this;
}
@@ -652,4 +663,9 @@
#if !defined(BOOST_NO_RVALUE_REFERENCES)
+ unordered_multiset(unordered_multiset const& other)
+ : table_(other.table_)
+ {
+ }
+
unordered_multiset(unordered_multiset&& other)
: table_(other.table_, boost::unordered_detail::move_tag())
@@ -660,4 +676,10 @@
: table_(other.table_, a, boost::unordered_detail::move_tag())
{
+ }
+
+ unordered_multiset& operator=(unordered_multiset const& x)
+ {
+ table_ = x.table_;
+ return *this;
}
Index: /trunk/boost/unordered/unordered_map.hpp
===================================================================
--- misc/boost_1_44_0/boost/unordered/unordered_map.hpp (revision 60754)
+++ misc/build/boost_1_44_0/boost/unordered/unordered_map.hpp (revision 68445)
@@ -161,4 +161,9 @@
#if !defined(BOOST_NO_RVALUE_REFERENCES)
+ unordered_map(unordered_map const& other)
+ : table_(other.table_)
+ {
+ }
+
unordered_map(unordered_map&& other)
: table_(other.table_, boost::unordered_detail::move_tag())
@@ -169,4 +174,10 @@
: table_(other.table_, a, boost::unordered_detail::move_tag())
{
+ }
+
+ unordered_map& operator=(unordered_map const& x)
+ {
+ table_ = x.table_;
+ return *this;
}
@@ -706,4 +717,9 @@
#if !defined(BOOST_NO_RVALUE_REFERENCES)
+ unordered_multimap(unordered_multimap const& other)
+ : table_(other.table_)
+ {
+ }
+
unordered_multimap(unordered_multimap&& other)
: table_(other.table_, boost::unordered_detail::move_tag())
@@ -714,4 +730,10 @@
: table_(other.table_, a, boost::unordered_detail::move_tag())
{
+ }
+
+ unordered_multimap& operator=(unordered_multimap const& x)
+ {
+ table_ = x.table_;
+ return *this;
}
diff --git a/boost/boost.6139.clang.patch b/boost/boost.6139.clang.patch
deleted file mode 100644
index afa9a25..0000000
--- a/boost/boost.6139.clang.patch
+++ /dev/null
@@ -1,10 +0,0 @@
--- misc/build/boost/boost/detail/container_fwd.hpp 2013-04-02 19:13:58.744000000 -0400
+++ misc/build/boost/boost/detail/container_fwd.hpp 2013-04-02 19:23:13.504000000 -0400
@@ -17,6 +17,7 @@
|| ((defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
&& (defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL))) \
|| BOOST_WORKAROUND(__BORLANDC__, > 0x551) \
+ || __GLIBCXX__ >= 20070513 \
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x842)) \
|| (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
diff --git a/boost/boost.6369.warnings.patch b/boost/boost.6369.warnings.patch
index 5a7e336..81a5eac 100644
--- a/boost/boost.6369.warnings.patch
+++ b/boost/boost.6369.warnings.patch
@@ -321,24 +321,3 @@
).second;
}
--- misc/boost_1_44_0/boost/variant/variant.hpp 2012-01-08 20:16:41.321760852 +0000
+++ misc/build/boost_1_44_0/boost/variant/variant.hpp 2012-01-08 20:25:43.233484675 +0000
@@ -1143,14 +1143,14 @@
which_t which_;
storage_t storage_;
- void indicate_which(int which)
+ void indicate_which(int i_which)
{
- which_ = static_cast<which_t>( which );
+ which_ = static_cast<which_t>( i_which );
}
- void indicate_backup_which(int which)
+ void indicate_backup_which(int i_which)
{
- which_ = static_cast<which_t>( -(which + 1) );
+ which_ = static_cast<which_t>( -(i_which + 1) );
}
private: // helpers, for queries (below)
diff --git a/boost/boost.6397.warnings.patch b/boost/boost.6397.warnings.patch
index 383945e..1cb18d4 100644
--- a/boost/boost.6397.warnings.patch
+++ b/boost/boost.6397.warnings.patch
@@ -19,25 +19,6 @@
{
process_bit( static_cast<bool>(bits & high_bit_mask) );
}
--- misc/boost_1_44_0/boost/multi_array/collection_concept.hpp 2012-01-12 20:21:29.790009198 +0000
+++ misc/build/boost_1_44_0/boost/multi_array/collection_concept.hpp 2012-01-12 20:28:55.457287835 +0000
@@ -43,11 +43,11 @@
i = c.end();
c.swap(c);
}
- void const_constraints(const Collection& c) {
- ci = c.begin();
- ci = c.end();
- n = c.size();
- b = c.empty();
+ void const_constraints(const Collection& c_) {
+ ci = c_.begin();
+ ci = c_.end();
+ n = c_.size();
+ b = c_.empty();
}
Collection c;
bool b;
--- misc/boost_1_44_0/boost/multi_array/concept_checks.hpp 2012-01-12 20:21:29.790009198 +0000
+++ misc/build/boost_1_44_0/boost/multi_array/concept_checks.hpp 2012-01-12 20:29:56.482879277 +0000
@@ -39,8 +39,8 @@
@@ -72,12 +53,12 @@
// value_type vt = a[ id ];
// Test slicing, keeping only the first dimension, losing the rest
- idgen_helper<NumDims-1>::call(a,idgen[range],id);
+ idgen_helper<NumDims-1>::call(a_,idgen[range],id);
- detail::idgen_helper<NumDims-1>::call(a,idgen[range],id);
+ detail::idgen_helper<NumDims-1>::call(a_,idgen[range],id);
// Test slicing, keeping all dimensions.
- idgen_helper<NumDims-1>::call(a,idgen[range],range);
+ idgen_helper<NumDims-1>::call(a_,idgen[range],range);
- detail::idgen_helper<NumDims-1>::call(a,idgen[range],range);
+ detail::idgen_helper<NumDims-1>::call(a_,idgen[range],range);
- st = a.size();
- st = a.num_dimensions();
@@ -161,7 +142,7 @@
+ explicit const_multi_array_ref(TPtr base, const ExtentList& extents_) :
base_(base), storage_(c_storage_order()) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
CollectionConcept<ExtentList> >();
index_base_list_.assign(0);
- init_multi_array_ref(extents.begin());
@@ -174,7 +155,7 @@
const general_storage_order<NumDims>& so) :
base_(base), storage_(so) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
CollectionConcept<ExtentList> >();
index_base_list_.assign(0);
- init_multi_array_ref(extents.begin());
@@ -206,7 +187,7 @@
- void reshape(const SizeList& extents) {
+ void reshape(const SizeList& extents_) {
boost::function_requires<
detail::multi_array::CollectionConcept<SizeList> >();
CollectionConcept<SizeList> >();
BOOST_ASSERT(num_elements_ ==
- std::accumulate(extents.begin(),extents.end(),
+ std::accumulate(extents_.begin(),extents_.end(),
@@ -224,7 +205,7 @@
- const element& operator()(IndexList indices) const {
+ const element& operator()(IndexList indices_) const {
boost::function_requires<
detail::multi_array::CollectionConcept<IndexList> >();
CollectionConcept<IndexList> >();
return super_type::access_element(boost::type<const element&>(),
- indices,origin(),
+ indices_,origin(),
@@ -299,7 +280,7 @@
+ explicit multi_array_ref(T* base, const ExtentList& extents_) :
+ super_type(base,extents_) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
CollectionConcept<ExtentList> >();
}
template <class ExtentList>
@@ -309,7 +290,7 @@
- super_type(base,extents,so) {
+ super_type(base,extents_,so) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
CollectionConcept<ExtentList> >();
}
@@ -509,11 +509,11 @@
element* data() { return super_type::base_; }
@@ -318,7 +299,7 @@
- element& operator()(const IndexList& indices) {
+ element& operator()(const IndexList& indices_) {
boost::function_requires<
detail::multi_array::CollectionConcept<IndexList> >();
CollectionConcept<IndexList> >();
return super_type::access_element(boost::type<element&>(),
- indices,origin(),
+ indices_,origin(),
@@ -346,7 +327,7 @@
- const element& operator()(const IndexList& indices) const {
+ const element& operator()(const IndexList& indices_) const {
boost::function_requires<
detail::multi_array::CollectionConcept<IndexList> >();
CollectionConcept<IndexList> >();
- return super_type::operator()(indices);
+ return super_type::operator()(indices_);
}
@@ -534,27 +515,33 @@
new_array.index_base_list_.end(),
--- misc/boost_1_44_0/boost/random/mersenne_twister.hpp
+++ misc/build/boost_1_44_0/boost/random/mersenne_twister.hpp
@@ -195,16 +195,16 @@
}
#endif
@@ -195,19 +195,19 @@
* Returns true if the two generators are in the same state,
* and will thus produce identical sequences.
*/
- friend bool operator==(const mersenne_twister_engine& x,
- const mersenne_twister_engine& y)
+ friend bool operator==(const mersenne_twister_engine& x_arg,
+ const mersenne_twister_engine& y_arg)
{
- if(x.i < y.i) return x.equal_imp(y);
- else return y.equal_imp(x);
+ if(x_arg.i < y_arg.i) return x_arg.equal_imp(y_arg);
+ else return y_arg.equal_imp(x_arg);
}
/**
* Returns true if the two generators are in different states.
*/
- friend bool operator!=(const mersenne_twister_engine& x,
- const mersenne_twister_engine& y)
- { return !(x == y); }
+ friend bool operator!=(const mersenne_twister_engine& x_arg,
+ const mersenne_twister_engine& y_arg)
+ { return !(x_arg == y_arg); }
- friend bool operator==(const mersenne_twister& x, const mersenne_twister& y)
+ friend bool operator==(const mersenne_twister& x_, const mersenne_twister& y_)
{
for(int j = 0; j < state_size; ++j)
- if(x.compute(j) != y.compute(j))
+ if(x_.compute(j) != y_.compute(j))
return false;
return true;
}
- friend bool operator!=(const mersenne_twister& x, const mersenne_twister& y)
- { return !(x == y); }
+ friend bool operator!=(const mersenne_twister& x_, const mersenne_twister& y_)
+ { return !(x_ == y_); }
#else
// Use a member function; Streamable concept not supported.
bool operator==(const mersenne_twister& rhs) const
private:
/// \cond show_private
--- misc/boost_1_44_0/boost/uuid/uuid_io.hpp
+++ misc/build/boost_1_44_0/boost/uuid/uuid_io.hpp
@@ -59,7 +59,7 @@
diff --git a/boost/boost.6940.glibc.patch b/boost/boost.6940.glibc.patch
deleted file mode 100644
index b1f4230..0000000
--- a/boost/boost.6940.glibc.patch
+++ /dev/null
@@ -1,20 +0,0 @@
--- misc/boost_1_44_0/boost/thread/xtime.hpp 2012-11-05 20:13:28.034300778 -0500
+++ misc/build/boost_1_44_0/boost/thread/xtime.hpp 2012-11-05 20:13:50.856322691 -0500
@@ -20,7 +20,7 @@
enum xtime_clock_types
{
- TIME_UTC=1
+ TIME_UTC_=1
// TIME_TAI,
// TIME_MONOTONIC,
// TIME_PROCESS,
@@ -68,7 +68,7 @@
inline int xtime_get(struct xtime* xtp, int clock_type)
{
- if (clock_type == TIME_UTC)
+ if (clock_type == TIME_UTC_)
{
*xtp=get_xtime(get_system_time());
return clock_type;
diff --git a/boost/boost.7774.warnings.patch.1 b/boost/boost.7774.warnings.patch.1
deleted file mode 100644
index 60c4f05..0000000
--- a/boost/boost.7774.warnings.patch.1
+++ /dev/null
@@ -1,34 +0,0 @@
diff -ur boost.org/boost/random/binomial_distribution.hpp boost/boost/random/binomial_distribution.hpp
--- boost.org/boost/random/binomial_distribution.hpp 2012-12-07 21:17:45.789067382 +0100
+++ boost/boost/random/binomial_distribution.hpp 2012-12-07 21:42:39.915034045 +0100
@@ -42,12 +42,12 @@
*
* Requires: t >=0 && 0 <= p <= 1
*/
- explicit binomial_distribution(IntType t = 1,
- const RealType& p = RealType(0.5))
- : _bernoulli(p), _t(t)
+ explicit binomial_distribution(IntType t_arg = 1,
+ const RealType& p_arg = RealType(0.5))
+ : _bernoulli(p_arg), _t(t_arg)
{
assert(_t >= 0);
- assert(RealType(0) <= p && p <= RealType(1));
+ assert(RealType(0) <= p_arg && p_arg <= RealType(1));
}
// compiler-generated copy ctor and assignment operator are fine
diff -ur boost.org/boost/random/geometric_distribution.hpp boost/boost/random/geometric_distribution.hpp
--- boost.org/boost/random/geometric_distribution.hpp 2012-12-07 21:17:45.789067382 +0100
+++ boost/boost/random/geometric_distribution.hpp 2012-12-07 21:41:34.970035494 +0100
@@ -50,8 +50,8 @@
*
* Requires: 0 < p < 1
*/
- explicit geometric_distribution(const RealType& p = RealType(0.5))
- : _p(p)
+ explicit geometric_distribution(const RealType& p_arg = RealType(0.5))
+ : _p(p_arg)
{
assert(RealType(0) < _p && _p < RealType(1));
init();
diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch
index 9b33a5f..72ab15a 100644
--- a/boost/boost.gcc47679.patch
+++ b/boost/boost.gcc47679.patch
@@ -56,6 +56,6 @@
+ memset(&dummy_, 0, sizeof(dummy_));
+ }
+
void const* address() const { return &dummy_.data[0]; }
void * address() { return &dummy_.data[0]; }
} ;
#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
void const* address() const { return &dummy_; }
void * address() { return &dummy_; }
diff --git a/boost/boost.libcdr.warnings.patch.1 b/boost/boost.libcdr.warnings.patch.1
index 2df0e3b..61a6a8c 100644
--- a/boost/boost.libcdr.warnings.patch.1
+++ b/boost/boost.libcdr.warnings.patch.1
@@ -1,50 +1,3 @@
--- boost/boost/archive/basic_archive.hpp 2010-08-11 20:15:46.000000000 +0200
+++ boost/boost/archive/basic_archive.hpp 2013-05-17 15:39:58.624333369 +0200
@@ -54,7 +54,7 @@
return *this;
}
// used for text output
- operator const base_type () const {
+ operator base_type () const {
return t;
}
// used for text input
@@ -90,7 +90,7 @@
return *this;
}
// used for text output
- operator const base_type () const {
+ operator base_type () const {
return t;
}
// used for text intput
@@ -127,7 +127,7 @@
}
// used for text output
- operator const int () const {
+ operator int () const {
return t;
}
// used for text input
@@ -161,7 +161,7 @@
return *this;
}
// used for text output
- operator const uint_least32_t () const {
+ operator uint_least32_t () const {
return t;
}
// used for text input
@@ -254,7 +254,7 @@
#define BOOST_ARCHIVE_STRONG_TYPEDEF(T, D) \
class D : public T { \
public: \
- explicit D(const T t) : T(t){} \
+ explicit D(const T t_) : T(t_){} \
}; \
/**/
--- boost/boost/multi_index/detail/index_matcher.hpp 2008-07-03 18:51:53.000000000 +0200
+++ boost/boost/multi_index/detail/index_matcher.hpp 2013-05-17 15:30:12.539099597 +0200
@@ -132,17 +132,17 @@
@@ -236,92 +189,6 @@
}
#endif
--- boost/boost/property_tree/detail/exception_implementation.hpp 2009-09-01 23:27:45.000000000 +0200
+++ boost/boost/property_tree/detail/exception_implementation.hpp 2013-05-17 15:28:28.599529530 +0200
@@ -30,8 +30,8 @@
///////////////////////////////////////////////////////////////////////////
// ptree_error
- inline ptree_error::ptree_error(const std::string &what):
- std::runtime_error(what)
+ inline ptree_error::ptree_error(const std::string &what_):
+ std::runtime_error(what_)
{
}
@@ -43,8 +43,8 @@
// ptree_bad_data
template<class D> inline
- ptree_bad_data::ptree_bad_data(const std::string &what, const D &data):
- ptree_error(what), m_data(data)
+ ptree_bad_data::ptree_bad_data(const std::string &what_, const D &data_):
+ ptree_error(what_), m_data(data_)
{
}
@@ -62,8 +62,8 @@
// ptree_bad_path
template<class P> inline
- ptree_bad_path::ptree_bad_path(const std::string &what, const P &path):
- ptree_error(detail::prepare_bad_path_what(what, path)), m_path(path)
+ ptree_bad_path::ptree_bad_path(const std::string &what_, const P &path_):
+ ptree_error(detail::prepare_bad_path_what(what_, path_)), m_path(path_)
{
}
--- boost/boost/property_tree/detail/file_parser_error.hpp 2009-09-01 23:27:45.000000000 +0200
+++ boost/boost/property_tree/detail/file_parser_error.hpp 2013-05-17 15:36:01.615914822 +0200
@@ -26,11 +26,11 @@
// Construction & destruction
// Construct error
- file_parser_error(const std::string &message,
- const std::string &filename,
- unsigned long line) :
- ptree_error(format_what(message, filename, line)),
- m_message(message), m_filename(filename), m_line(line)
+ file_parser_error(const std::string &message_,
+ const std::string &filename_,
+ unsigned long line_) :
+ ptree_error(format_what(message_, filename_, line_)),
+ m_message(message_), m_filename(filename_), m_line(line_)
{
}
@@ -69,20 +69,20 @@
unsigned long m_line;
// Format error message to be returned by std::runtime_error::what()
- std::string format_what(const std::string &message,
- const std::string &filename,
- unsigned long line)
+ std::string format_what(const std::string &message_,
+ const std::string &filename_,
+ unsigned long line_)
{
std::stringstream stream;
- if (line > 0)
- stream << (filename.empty() ? "<unspecified file>"
- : filename.c_str())
- << '(' << line << "): "
- << message;
+ if (line_ > 0)
+ stream << (filename_.empty() ? "<unspecified file>"
+ : filename_.c_str())
+ << '(' << line_ << "): "
+ << message_;
else
- stream << (filename.empty() ? "<unspecified file>"
- : filename.c_str())
- << ": " << message;
+ stream << (filename_.empty() ? "<unspecified file>"
+ : filename_.c_str())
+ << ": " << message_;
return stream.str();
}
--- boost/boost/property_tree/detail/json_parser_error.hpp 2007-05-13 00:02:53.000000000 +0200
+++ boost/boost/property_tree/detail/json_parser_error.hpp 2013-05-17 15:36:44.605902442 +0200
@@ -20,10 +20,10 @@
@@ -417,17 +284,6 @@
u = (std::min)(u, static_cast<unsigned long>((std::numeric_limits<Ch>::max)()));
--- boost/boost/property_tree/detail/ptree_implementation.hpp 2010-07-03 22:59:45.000000000 +0200
+++ boost/boost/property_tree/detail/ptree_implementation.hpp 2013-05-17 15:55:56.449713452 +0200
@@ -183,8 +183,8 @@
}
template<class K, class D, class C> inline
- basic_ptree<K, D, C>::basic_ptree(const data_type &data)
- : m_data(data), m_children(new typename subs::base_container)
+ basic_ptree<K, D, C>::basic_ptree(const data_type &data_)
+ : m_data(data_), m_children(new typename subs::base_container)
{
}
@@ -539,48 +539,48 @@
template<class K, class D, class C>
@@ -582,7 +438,7 @@
}
template<class K, class D, class C>
@@ -759,17 +759,17 @@
@@ -759,18 +759,18 @@
std::basic_string<Ch>
>::type
basic_ptree<K, D, C>::get(
@@ -601,7 +457,8 @@
{
- if (optional<const self_type&> child = get_child_optional(path))
+ if (optional<const self_type&> child = get_child_optional(path_))
return child.get().BOOST_NESTED_TEMPLATE get_value_optional<Type>(tr);
return child.get().
BOOST_NESTED_TEMPLATE get_value_optional<Type>(tr);
else
return optional<Type>();
@@ -778,9 +778,9 @@
@@ -668,17 +525,6 @@
typename translator_between<data_type, Type>::type());
}
--- boost/boost/serialization/collection_size_type.hpp 2010-07-09 18:50:03.000000000 +0200
+++ boost/boost/serialization/collection_size_type.hpp 2013-05-17 15:40:32.789528782 +0200
@@ -37,7 +37,7 @@
return *this;
}
// used for text output
- operator const base_type () const {
+ operator base_type () const {
return t;
}
// used for text input
--- boost/boost/spirit/home/classic/error_handling/exceptions.hpp 2013-05-17 15:57:23.722638823 +0200
+++ boost/boost/spirit/home/classic/error_handling/exceptions.hpp 2013-05-17 15:26:32.319247352 +0200
@@ -126,8 +126,8 @@
diff --git a/boost/boost.loplugin.patch b/boost/boost.loplugin.patch
new file mode 100644
index 0000000..7c35d33
--- /dev/null
+++ b/boost/boost.loplugin.patch
@@ -0,0 +1,19 @@
--- foo/foo/foo/boost/lexical_cast.hpp
+++ foo/foo/foo/boost/lexical_cast.hpp
@@ -1016,7 +1016,7 @@
if( !has_minus ) value = std::numeric_limits<T>::quiet_NaN();
else value = (boost::math::changesign) (std::numeric_limits<T>::quiet_NaN());
return true;
- } else
+ } else {
if (( /* 'INF' or 'inf' */
end-begin==3
&&
@@ -1031,6 +1031,7 @@
else value = (boost::math::changesign) (std::numeric_limits<T>::infinity());
return true;
}
+ }
return false;
}
diff --git a/boost/boost.mipsbackport.patch b/boost/boost.mipsbackport.patch
deleted file mode 100644
index 085d232..0000000
--- a/boost/boost.mipsbackport.patch
+++ /dev/null
@@ -1,42 +0,0 @@
--- misc/boost_1_44_0/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp 2009-03-27 13:10:46.000000000 +0000
+++ misc/build/boost_1_44_0/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp 2011-11-07 14:25:23.000000000 +0000
@@ -37,9 +37,12 @@
__asm__ __volatile__
(
"0:\n\t"
+ ".set push\n\t"
+ ".set mips2\n\t"
"ll %0, %1\n\t"
"addiu %0, 1\n\t"
"sc %0, %1\n\t"
+ ".set pop\n\t"
"beqz %0, 0b":
"=&r"( tmp ), "=m"( *pw ):
"m"( *pw )
@@ -55,9 +58,12 @@
__asm__ __volatile__
(
"0:\n\t"
+ ".set push\n\t"
+ ".set mips2\n\t"
"ll %1, %2\n\t"
"addiu %0, %1, -1\n\t"
"sc %0, %2\n\t"
+ ".set pop\n\t"
"beqz %0, 0b\n\t"
"addiu %0, %1, -1":
"=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
@@ -78,10 +84,13 @@
__asm__ __volatile__
(
"0:\n\t"
+ ".set push\n\t"
+ ".set mips2\n\t"
"ll %0, %2\n\t"
"beqz %0, 1f\n\t"
"addiu %1, %0, 1\n\t"
"sc %1, %2\n\t"
+ ".set pop\n\t"
"beqz %1, 0b\n\t"
"addiu %0, %0, 1\n\t"
"1:":
diff --git a/boost/boost.ptree.patch b/boost/boost.ptree.patch
deleted file mode 100644
index 3fa98d8..0000000
--- a/boost/boost.ptree.patch
+++ /dev/null
@@ -1,11 +0,0 @@
--- misc/build/boost_1_44_0/boost/property_tree/detail/json_parser_read.hpp 2013-04-22 18:22:16.961642320 +0200
+++ misc/build/boost_1_44_0/boost/property_tree/detail/json_parser_read.hpp 2013-04-22 18:22:59.991632602 +0200
@@ -102,7 +102,7 @@
void operator()(It b, It e) const
{
BOOST_ASSERT(c.stack.size() >= 1);
- c.stack.back()->push_back(std::make_pair(c.name, Str(b, e)));
+ c.stack.back()->push_back(std::make_pair(c.name, Ptree(Str(b, e))));
c.name.clear();
c.string.clear();
}
diff --git a/boost/boost.wshadow.patch b/boost/boost.wshadow.patch
new file mode 100644
index 0000000..d905d8b
--- /dev/null
+++ b/boost/boost.wshadow.patch
@@ -0,0 +1,399 @@
--- foo/foo/foo/boost/math/special_functions/detail/bessel_jy_series.hpp
+++ foo/foo/foo/boost/math/special_functions/detail/bessel_jy_series.hpp
@@ -194,9 +194,9 @@
}
else
{
- int s;
- prefix = boost::math::lgamma(-v, &s, pol) + p;
- prefix = exp(prefix) * s / constants::pi<T>();
+ int s_lcl;
+ prefix = boost::math::lgamma(-v, &s_lcl, pol) + p;
+ prefix = exp(prefix) * s_lcl / constants::pi<T>();
}
bessel_y_small_z_series_term_b<T, Policy> s2(v, x);
max_iter = policies::get_max_series_iterations<Policy>();
--- foo/foo/foo/boost/math/special_functions/ellint_rj.hpp
+++ foo/foo/foo/boost/math/special_functions/ellint_rj.hpp
@@ -91,11 +91,11 @@
BOOST_ASSERT(pmy >= 0);
- T p = pmy + y;
- value = boost::math::ellint_rj(x, y, z, p, pol);
+ T p_lcl = pmy + y;
+ value = boost::math::ellint_rj(x, y, z, p_lcl, pol);
value *= pmy;
value -= 3 * boost::math::ellint_rf(x, y, z, pol);
- value += 3 * sqrt((x * y * z) / (x * z + p * q)) * boost::math::ellint_rc(x * z + p * q, p * q, pol);
+ value += 3 * sqrt((x * y * z) / (x * z + p_lcl * q)) * boost::math::ellint_rc(x * z + p_lcl * q, p_lcl * q, pol);
value /= (y + q);
return value;
}
--- foo/foo/foo/boost/random/binomial_distribution.hpp
+++ foo/foo/foo/boost/random/binomial_distribution.hpp
@@ -272,21 +272,21 @@
using std::sqrt;
using std::pow;
- RealType p = (0.5 < _p)? (1 - _p) : _p;
- IntType t = _t;
+ RealType p_lcl = (0.5 < _p)? (1 - _p) : _p;
+ IntType t_lcl = _t;
- m = static_cast<IntType>((t+1)*p);
+ m = static_cast<IntType>((t_lcl+1)*p_lcl);
if(use_inversion()) {
- q_n = pow((1 - p), static_cast<RealType>(t));
+ q_n = pow((1 - p_lcl), static_cast<RealType>(t_lcl));
} else {
- btrd.r = p/(1-p);
- btrd.nr = (t+1)*btrd.r;
- btrd.npq = t*p*(1-p);
+ btrd.r = p_lcl/(1-p_lcl);
+ btrd.nr = (t_lcl+1)*btrd.r;
+ btrd.npq = t_lcl*p_lcl*(1-p_lcl);
RealType sqrt_npq = sqrt(btrd.npq);
btrd.b = 1.15 + 2.53 * sqrt_npq;
- btrd.a = -0.0873 + 0.0248*btrd.b + 0.01*p;
- btrd.c = t*p + 0.5;
+ btrd.a = -0.0873 + 0.0248*btrd.b + 0.01*p_lcl;
+ btrd.c = t_lcl*p_lcl + 0.5;
btrd.alpha = (2.83 + 5.1/btrd.b) * sqrt_npq;
btrd.v_r = 0.92 - 4.2/btrd.b;
btrd.u_rv_r = 0.86*btrd.v_r;
@@ -304,9 +304,9 @@
RealType u;
RealType v = uniform_01<RealType>()(urng);
if(v <= btrd.u_rv_r) {
- RealType u = v/btrd.v_r - 0.43;
+ RealType u_lcl = v/btrd.v_r - 0.43;
return static_cast<IntType>(floor(
- (2*btrd.a/(0.5 - abs(u)) + btrd.b)*u + btrd.c));
+ (2*btrd.a/(0.5 - abs(u_lcl)) + btrd.b)*u_lcl + btrd.c));
}
if(v >= btrd.v_r) {
@@ -344,9 +344,9 @@
v = log(v);
RealType rho =
(km/btrd.npq)*(((km/3. + 0.625)*km + 1./6)/btrd.npq + 0.5);
- RealType t = -km*km/(2*btrd.npq);
- if(v < t - rho) return k;
- if(v > t + rho) continue;
+ RealType t_lcl = -km*km/(2*btrd.npq);
+ if(v < t_lcl - rho) return k;
+ if(v > t_lcl + rho) continue;
IntType nm = _t - m + 1;
RealType h = (m + 0.5)*log((m + 1)/(btrd.r*nm))
@@ -367,11 +367,11 @@
}
template<class URNG>
- IntType invert(IntType t, RealType p, URNG& urng) const
+ IntType invert(IntType t_arg, RealType p_arg, URNG& urng) const
{
- RealType q = 1 - p;
- RealType s = p / q;
- RealType a = (t + 1) * s;
+ RealType q = 1 - p_arg;
+ RealType s = p_arg / q;
+ RealType a = (t_arg + 1) * s;
RealType r = q_n;
RealType u = uniform_01<RealType>()(urng);
IntType x = 0;
--- foo/foo/foo/boost/random/geometric_distribution.hpp
+++ foo/foo/foo/boost/random/geometric_distribution.hpp
@@ -104,8 +104,8 @@
*
* Requires: 0 < p < 1
*/
- explicit geometric_distribution(const RealType& p = RealType(0.5))
- : _p(p)
+ explicit geometric_distribution(const RealType& p_arg = RealType(0.5))
+ : _p(p_arg)
{
BOOST_ASSERT(RealType(0) < _p && _p < RealType(1));
init();
--- foo/foo/foo/boost/random/shuffle_order.hpp
+++ foo/foo/foo/boost/random/shuffle_order.hpp
@@ -200,8 +200,8 @@
}
/** Returns true if the two generators will produce identical sequences. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(shuffle_order_engine, x, y)
- { return x._rng == y._rng && x.y == y.y && std::equal(x.v, x.v+k, y.v); }
+ BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(shuffle_order_engine, x, y_arg)
+ { return x._rng == y_arg._rng && x.y == y_arg.y && std::equal(x.v, x.v+k, y_arg.v); }
/** Returns true if the two generators will produce different sequences. */
BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(shuffle_order_engine)
--- foo/foo/foo/boost/random/subtract_with_carry.hpp
+++ foo/foo/foo/boost/random/subtract_with_carry.hpp
@@ -268,21 +268,21 @@
friend struct detail::subtract_with_carry_discard;
- IntType do_update(std::size_t current, std::size_t short_index, IntType carry)
+ IntType do_update(std::size_t current, std::size_t short_index, IntType carry_arg)
{
IntType delta;
- IntType temp = x[current] + carry;
+ IntType temp = x[current] + carry_arg;
if (x[short_index] >= temp) {
// x(n) >= 0
delta = x[short_index] - temp;
- carry = 0;
+ carry_arg = 0;
} else {
// x(n) < 0
delta = modulus - temp + x[short_index];
- carry = 1;
+ carry_arg = 1;
}
x[current] = delta;
- return carry;
+ return carry_arg;
}
/// \endcond
@@ -498,17 +498,17 @@
friend struct detail::subtract_with_carry_discard;
- RealType do_update(std::size_t current, std::size_t short_index, RealType carry)
+ RealType do_update(std::size_t current, std::size_t short_index, RealType carry_arg)
{
- RealType delta = x[short_index] - x[current] - carry;
+ RealType delta = x[short_index] - x[current] - carry_arg;
if(delta < 0) {
delta += RealType(1);
- carry = RealType(1)/_modulus;
+ carry_arg = RealType(1)/_modulus;
} else {
- carry = 0;
+ carry_arg = 0;
}
x[current] = delta;
- return carry;
+ return carry_arg;
}
/// \endcond
std::size_t k;
--- foo/foo/foo/boost/smart_ptr/detail/allocate_array_helper.hpp
+++ foo/foo/foo/boost/smart_ptr/detail/allocate_array_helper.hpp
@@ -33,10 +33,10 @@
struct rebind {
typedef allocate_array_helper<A, T[], U> other;
};
- allocate_array_helper(const A& allocator, std::size_t size, T** data)
- : allocator(allocator),
- size(sizeof(T) * size),
- data(data) {
+ allocate_array_helper(const A& allocator_arg, std::size_t size_arg, T** data_arg)
+ : allocator(allocator_arg),
+ size(sizeof(T) * size_arg),
+ data(data_arg) {
}
template<class U>
allocate_array_helper(const allocate_array_helper<A, T[], U>& other)
@@ -107,9 +107,9 @@
struct rebind {
typedef allocate_array_helper<A, T[N], U> other;
};
- allocate_array_helper(const A& allocator, T** data)
- : allocator(allocator),
- data(data) {
+ allocate_array_helper(const A& allocator_arg, T** data_arg)
+ : allocator(allocator_arg),
+ data(data_arg) {
}
template<class U>
allocate_array_helper(const allocate_array_helper<A, T[N], U>& other)
--- foo/foo/foo/boost/smart_ptr/detail/array_deleter.hpp
+++ foo/foo/foo/boost/smart_ptr/detail/array_deleter.hpp
@@ -20,8 +20,8 @@
template<typename T>
class array_deleter<T[]> {
public:
- array_deleter(std::size_t size)
- : size(size),
+ array_deleter(std::size_t size_arg)
+ : size(size_arg),
object(0) {
}
~array_deleter() {
--- foo/foo/foo/boost/smart_ptr/detail/make_array_helper.hpp
+++ foo/foo/foo/boost/smart_ptr/detail/make_array_helper.hpp
@@ -31,9 +31,9 @@
struct rebind {
typedef make_array_helper<T[], U> other;
};
- make_array_helper(std::size_t size, T** data)
- : size(sizeof(T) * size),
- data(data) {
+ make_array_helper(std::size_t size_arg, T** data_arg)
+ : size(sizeof(T) * size_arg),
+ data(data_arg) {
}
template<class U>
make_array_helper(const make_array_helper<T[], U>& other)
@@ -99,8 +99,8 @@
struct rebind {
typedef make_array_helper<T[N], U> other;
};
- make_array_helper(T** data)
- : data(data) {
+ make_array_helper(T** data_arg)
+ : data(data_arg) {
}
template<class U>
make_array_helper(const make_array_helper<T[N], U>& other)
--- foo/foo/foo/boost/unordered/detail/equivalent.hpp
+++ foo/foo/foo/boost/unordered/detail/equivalent.hpp
@@ -536,9 +536,9 @@
node_pointer first_node = static_cast<node_pointer>(prev->next_);
link_pointer end = first_node->group_prev_->next_;
- std::size_t count = this->delete_nodes(prev, end);
+ std::size_t count_lcl = this->delete_nodes(prev, end);
this->fix_bucket(bucket_index, prev);
- return count;
+ return count_lcl;
}
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)
{
- 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'.
- // And get the pointer to the node before begin while
+ // Split the groups containing 'begin_arg' and 'end.'
+ // And get the pointer to the node before begin_arg while
// we're at it.
- link_pointer prev = split_groups(begin, end);
+ link_pointer prev = split_groups(begin_arg, end);
- // 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_;
}
@@ -586,27 +586,27 @@
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)
{
- 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) {
+ 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;
+ if (first == begin_arg) return prev;
}
if (prev) {
node_pointer first = prev;
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;
--- foo/foo/foo/boost/unordered/detail/table.hpp
+++ foo/foo/foo/boost/unordered/detail/table.hpp
@@ -256,9 +256,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_lcl(*this);
+ table_impl::fill_buckets(x.begin(), *this, assign_lcl);
}
void assign(table const& x, true_type)
@@ -732,9 +732,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_lcl(*this);
node_holder<node_allocator> nodes(x);
- table_impl::fill_buckets(nodes.begin(), *this, assign);
+ table_impl::fill_buckets(nodes.begin(), *this, assign_lcl);
}
}
--- foo/foo/foo/boost/unordered/detail/unique.hpp
+++ foo/foo/foo/boost/unordered/detail/unique.hpp
@@ -531,9 +531,9 @@
link_pointer end = static_cast<node_pointer>(prev->next_)->next_;
- std::size_t count = this->delete_nodes(prev, end);
+ std::size_t count_lcl = this->delete_nodes(prev, end);
this->fix_bucket(bucket_index, prev);
- return count;
+ return count_lcl;
}
iterator erase(c_iterator r)
@@ -552,13 +552,13 @@
return iterator(r2.node_);
}
- void erase_nodes(node_pointer begin, node_pointer end)
+ void erase_nodes(node_pointer begin_arg, node_pointer end)
{
- 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 {
diff --git a/boost/boost.wundef.patch b/boost/boost.wundef.patch
new file mode 100644
index 0000000..a389d50
--- /dev/null
+++ b/boost/boost.wundef.patch
@@ -0,0 +1,66 @@
--- foo/foo/foo/boost/multi_array/base.hpp
+++ foo/foo/foo/boost/multi_array/base.hpp
@@ -65,7 +65,7 @@
// object creation in small-memory environments. Thus, the objects
// can be left undefined by defining BOOST_MULTI_ARRAY_NO_GENERATORS
// before loading multi_array.hpp.
-#if !BOOST_MULTI_ARRAY_NO_GENERATORS
+#if !defined(BOOST_MULTI_ARRAY_NO_GENERATORS) || !BOOST_MULTI_ARRAY_NO_GENERATORS
namespace {
multi_array_types::extent_gen extents;
multi_array_types::index_gen indices;
--- foo/foo/foo/boost/preprocessor/tuple/elem.hpp
+++ foo/foo/foo/boost/preprocessor/tuple/elem.hpp
@@ -22,7 +22,7 @@
# include <boost/preprocessor/variadic/elem.hpp>
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
+# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
--- foo/foo/foo/boost/preprocessor/tuple/rem.hpp
+++ foo/foo/foo/boost/preprocessor/tuple/rem.hpp
@@ -105,7 +105,7 @@
# /* BOOST_PP_TUPLE_REM_CTOR */
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
+# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args)
# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,)
--- foo/foo/foo/boost/preprocessor/tuple/to_list.hpp
+++ foo/foo/foo/boost/preprocessor/tuple/to_list.hpp
@@ -23,7 +23,7 @@
# /* BOOST_PP_TUPLE_TO_LIST */
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
+# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__))
# define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args)
# define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
--- foo/foo/foo/boost/preprocessor/variadic/elem.hpp
+++ foo/foo/foo/boost/preprocessor/variadic/elem.hpp
@@ -19,7 +19,7 @@
# /* BOOST_PP_VARIADIC_ELEM */
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
+# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__)
# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),)
# else
--- foo/foo/foo/boost/preprocessor/variadic/size.hpp
+++ foo/foo/foo/boost/preprocessor/variadic/size.hpp
@@ -19,7 +19,7 @@
# /* BOOST_PP_VARIADIC_SIZE */
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
+# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
# else
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
diff --git a/boost/boost.wundef.patch.1 b/boost/boost.wundef.patch.1
deleted file mode 100644
index cbdac45..0000000
--- a/boost/boost.wundef.patch.1
+++ /dev/null
@@ -1,54 +0,0 @@
--- a/boost/multi_array/base.hpp 2013-04-01 13:53:59.565375431 +0200
+++ b/boost/multi_array/base.hpp 2013-04-01 13:54:03.230375652 +0200
@@ -65,7 +65,7 @@
// object creation in small-memory environments. Thus, the objects
// can be left undefined by defining BOOST_MULTI_ARRAY_NO_GENERATORS
// before loading multi_array.hpp.
-#if !BOOST_MULTI_ARRAY_NO_GENERATORS
+#ifndef BOOST_MULTI_ARRAY_NO_GENERATORS
namespace {
multi_array_types::extent_gen extents;
multi_array_types::index_gen indices;
--- a/boost/interprocess/detail/workaround.hpp
+++ a/boost/interprocess/detail/workaround.hpp
@@ -29,19 +29,19 @@
#include <unistd.h>
- #if ((_POSIX_THREAD_PROCESS_SHARED - 0) > 0)
+ #if defined(_POSIX_THREAD_PROCESS_SHARED) && ((_POSIX_THREAD_PROCESS_SHARED - 0) > 0)
//Cygwin defines _POSIX_THREAD_PROCESS_SHARED but does not implement it.
//Mac Os X >= Leopard defines _POSIX_THREAD_PROCESS_SHARED but does not seems to work.
# if !defined(__CYGWIN__) && !defined(__APPLE__)
# define BOOST_INTERPROCESS_POSIX_PROCESS_SHARED
# endif
#endif
- #if ((_POSIX_BARRIERS - 0) > 0)
+ #if defined(_POSIX_BARRIERS) && ((_POSIX_BARRIERS - 0) > 0)
# define BOOST_INTERPROCESS_POSIX_BARRIERS
# endif
- #if ((_POSIX_SEMAPHORES - 0) > 0)
+ #if defined(_POSIX_SEMAPHORES) && ((_POSIX_SEMAPHORES - 0) > 0)
# define BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES
# if defined(__CYGWIN__)
#define BOOST_INTERPROCESS_POSIX_SEMAPHORES_NO_UNLINK
@@ -67,7 +67,7 @@
# define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
#endif
- #if ((_POSIX_SHARED_MEMORY_OBJECTS - 0) > 0)
+ #if defined(_POSIX_SHARED_MEMORY_OBJECTS) && ((_POSIX_SHARED_MEMORY_OBJECTS - 0) > 0)
# define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS
#else
//VMS and MACOS don't define it but the have shm_open/close interface
@@ -88,7 +88,7 @@
//# define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS_ONLY
#endif
- #if ((_POSIX_TIMEOUTS - 0) > 0)
+ #if defined(_POSIX_TIMEOUTS) && ((_POSIX_TIMEOUTS - 0) > 0)
# define BOOST_INTERPROCESS_POSIX_TIMEOUTS
#endif
diff --git a/boost/boost_1_44_0-clang-warnings.patch b/boost/boost_1_44_0-clang-warnings.patch
index d577205..c5bccaf 100644
--- a/boost/boost_1_44_0-clang-warnings.patch
+++ b/boost/boost_1_44_0-clang-warnings.patch
@@ -1,74 +1,14 @@
--- misc/boost_1_44_0/boost/algorithm/string/detail/find_format_store.hpp 2010-07-10 22:29:03.000000000 +0200
+++ misc/build/boost_1_44_0/boost/algorithm/string/detail/find_format_store.hpp 2012-06-06 23:13:26.000000000 +0200
@@ -71,7 +71,7 @@
};
--- misc/boost_1_44_0/boost/math/tools/fraction.hpp
+++ misc/build/boost_1_44_0/boost/math/tools/fraction.hpp
@@ -33,7 +33,7 @@
typedef typename Gen::result_type result_type;
typedef typename Gen::result_type value_type;
template<typename InputT, typename FindResultT>
- bool check_find_result(InputT& Input, FindResultT& FindResult)
+ bool check_find_result(InputT&, FindResultT& FindResult)
{
typedef BOOST_STRING_TYPENAME
range_const_iterator<InputT>::type input_iterator_type;
--- misc/boost_1_44_0/boost/concept_check.hpp
+++ misc/build/boost_1_44_0/boost/concept_check.hpp
@@ -136,7 +136,18 @@ namespace boost
{
BOOST_CONCEPT_USAGE(Assignable) {
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
+#if defined __clang__
+#if __has_warning("-Wself-assign-field")
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wself-assign-field"
+#endif
+#endif
a = a; // require assignment operator
+#if defined __clang__
+#if __has_warning("-Wself-assign-field")
+#pragma clang diagnostic pop
+#endif
+#endif
#endif
const_constraints(a);
}
--- misc/boost_1_44_0/boost/date_time/dst_rules.hpp 2008-02-27 21:00:24.000000000 +0100
+++ misc/build/boost_1_44_0/boost/date_time/dst_rules.hpp 2012-06-06 23:11:03.000000000 +0200
@@ -371,7 +371,7 @@
return is_not_in_dst;
}
- static bool is_dst_boundary_day(date_type d)
+ static bool is_dst_boundary_day(date_type)
{
return false;
}
--- misc/boost_1_44_0/boost/date_time/gregorian_calendar.ipp 2010-01-10 20:17:23.000000000 +0100
+++ misc/build/boost_1_44_0/boost/date_time/gregorian_calendar.ipp 2012-06-06 22:27:07.000000000 +0200
@@ -47,7 +47,7 @@
return week;
}
- if ((week == 53)) {
+ if (week == 53) {
if((day==6) ||(day == 5 && is_leap_year(ymd.year))) {
return week; //under these circumstances week == 53.
} else {
--- misc/boost_1_44_0/boost/date_time/period_formatter.hpp 2008-02-27 21:00:24.000000000 +0100
+++ misc/build/boost_1_44_0/boost/date_time/period_formatter.hpp 2012-06-06 23:12:48.000000000 +0200
@@ -114,10 +114,10 @@
{
m_range_option = option;
}
- void delimiter_strings(const string_type& separator,
- const string_type& start_delim,
- const string_type& open_end_delim,
- const string_type& closed_end_delim)
+ void delimiter_strings(const string_type&,
+ const string_type&,
+ const string_type&,
+ const string_type&)
{
m_period_separator;
m_period_start_delimeter;
- static result_type a(const value_type& v)
+ static result_type a(const value_type&)
{
return 1;
}
--- misc/boost_1_44_0/boost/token_functions.hpp 2010-06-12 14:06:28.000000000 +0200
+++ misc/build/boost_1_44_0/boost/token_functions.hpp 2012-06-06 23:12:27.000000000 +0200
@@ -285,7 +285,7 @@
@@ -90,8 +30,8 @@
+#pragma GCC system_header
+#endif
+
#include <boost/config/no_tr1/cmath.hpp>
#include <iostream>
#include <istream>
#include <iosfwd>
#include <algorithm> // std::max
--- misc/boost_1_44_0/boost/random/shuffle_output.hpp
+++ misc/build/boost_1_44_0/boost/random/shuffle_output.hpp
@@ -103,9 +43,9 @@
+#pragma GCC system_header
+#endif
+
#include <iostream>
#include <algorithm> // std::copy
#include <cassert>
#include <boost/random/shuffle_order.hpp>
namespace boost {
--- misc/boost_1_44_0/boost/random/subtract_with_carry.hpp
+++ misc/build/boost_1_44_0/boost/random/subtract_with_carry.hpp
@@ -16,6 +16,10 @@
@@ -116,34 +56,26 @@
+#pragma GCC system_header
+#endif
+
#include <boost/config/no_tr1/cmath.hpp>
#include <boost/config/no_tr1/cmath.hpp> // std::pow
#include <iostream>
#include <algorithm> // std::equal
--- misc/boost_1_44_0/boost/uuid/name_generator.hpp
+++ misc/build/boost_1_44_0/boost/uuid/name_generator.hpp
@@ -72,10 +72,10 @@
for (size_t i=0; i<count; i++) {
uint32_t c = characters[i];
- sha.process_byte( (c >> 0) && 0xFF );
- sha.process_byte( (c >> 8) && 0xFF );
- sha.process_byte( (c >> 16) && 0xFF );
- sha.process_byte( (c >> 24) && 0xFF );
+ sha.process_byte( (c >> 0) & 0xFF );
+ sha.process_byte( (c >> 8) & 0xFF );
+ sha.process_byte( (c >> 16) & 0xFF );
+ sha.process_byte( (c >> 24) & 0xFF );
}
}
--- misc/boost_1_44_0/boost/random/discard_block.hpp
+++ misc/build/boost_1_44_0/boost/random/discard_block.hpp
@@ -76,7 +76,7 @@
result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.min)(); }
result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (_rng.max)(); }
- static bool validation(result_type x) { return true; } // dummy
+ static bool validation(result_type) { return true; } // dummy
#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
--- misc/boost_1_44_0/boost/smart_ptr/detail/make_array_helper.hpp
+++ misc/build/boost_1_44_0/boost/smart_ptr/detail/make_array_helper.hpp
@@ -72,7 +72,7 @@
memory->~Y();
}
template<typename U>
- bool operator==(const make_array_helper<T[], U>& other) const {
+ bool operator==(const make_array_helper<T[], U>&) const {
return true;
}
template<typename U>
@@ -138,7 +138,7 @@
memory->~Y();
}
template<typename U>
- bool operator==(const make_array_helper<T[N], U>& other) const {
+ bool operator==(const make_array_helper<T[N], U>&) const {
return true;
}
template<typename U>
diff --git a/boost/boost_1_44_0-gcc4.7.patch b/boost/boost_1_44_0-gcc4.7.patch
deleted file mode 100644
index 842a92a..0000000
--- a/boost/boost_1_44_0-gcc4.7.patch
+++ /dev/null
@@ -1,49 +0,0 @@
--- misc/boost_1_44_0/boost/smart_ptr/shared_ptr.hpp 2009-12-14 18:44:19.000000000 +0100
+++ misc/build/boost_1_44_0/boost/smart_ptr/shared_ptr.hpp 2012-03-28 08:32:46.772493003 +0200
@@ -207,7 +207,17 @@
boost::detail::sp_enable_shared_from_this( this, p, p );
}
-// generated copy constructor, destructor are fine
+// generated copy constructor, destructor are fine...
+
+#if defined( BOOST_HAS_RVALUE_REFS )
+
+// ... except in C++0x, move disables the implicit copy
+
+ shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
+ {
+ }
+
+#endif
template<class Y>
explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
--- misc/boost_1_44_0/boost/smart_ptr/weak_ptr.hpp 2009-12-14 18:44:19.000000000 +0100
+++ misc/build/boost_1_44_0/boost/smart_ptr/weak_ptr.hpp 2012-03-28 10:31:57.607462325 +0200
@@ -40,8 +40,24 @@
{
}
-// generated copy constructor, assignment, destructor are fine
+// generated copy constructor, assignment, destructor are fine...
+#if defined( BOOST_HAS_RVALUE_REFS )
+
+// ... except in C++0x, move disables the implicit copy
+
+ weak_ptr( weak_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
+ {
+ }
+
+ weak_ptr & operator=( weak_ptr const & r ) // never throws
+ {
+ px = r.px;
+ pn = r.pn;
+ return *this;
+ }
+
+#endif
//
// The "obvious" converting constructor implementation:
diff --git a/boost/boost_1_44_0-gthreads.patch b/boost/boost_1_44_0-gthreads.patch
deleted file mode 100644
index d12b599..0000000
--- a/boost/boost_1_44_0-gthreads.patch
+++ /dev/null
@@ -1,12 +0,0 @@
--- misc/boost_1_44_0/boost/config/stdlib/libstdcpp3.hpp 2010-06-11 13:16:34.000000000 +0200
+++ misc/build/boost_1_44_0/boost/config/stdlib/libstdcpp3.hpp 2012-07-13 10:31:58.330127342 +0200
@@ -31,7 +31,8 @@
#ifdef __GLIBCXX__ // gcc 3.4 and greater:
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
- || defined(_GLIBCXX__PTHREADS)
+ || defined(_GLIBCXX__PTHREADS) \
+ || defined(_GLIBCXX_HAS_GTHREADS)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
diff --git a/boost/boost_1_44_0-logical-op-parentheses.patch b/boost/boost_1_44_0-logical-op-parentheses.patch
deleted file mode 100644
index 33a8ea0..0000000
--- a/boost/boost_1_44_0-logical-op-parentheses.patch
+++ /dev/null
@@ -1,12 +0,0 @@
--- misc/boost_1_44_0/boost/spirit/home/classic/core/composite/directives.hpp
+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/composite/directives.hpp
@@ -364,7 +364,7 @@
if (l || r)
{
- if (l.length() < r.length() && l || !r)
+ if ((l.length() < r.length() && l) || !r)
{
scan.first = save;
return l;
diff --git a/boost/boost_1_44_0-unused-parameters.patch b/boost/boost_1_44_0-unused-parameters.patch
index 79ad4b8..4fe61ba 100644
--- a/boost/boost_1_44_0-unused-parameters.patch
+++ b/boost/boost_1_44_0-unused-parameters.patch
@@ -409,14 +409,14 @@
template<class T>
inline
-bool operator == ( none_t x, optional<T> const& y )
+bool operator == ( __attribute__ ((unused)) none_t x, optional<T> const& y )
-bool operator == ( none_t , optional<T> const& y )
+bool operator == ( __attribute__ ((unused)) none_t , optional<T> const& y )
{ return equal_pointees(optional<T>() ,y); }
template<class T>
inline
-bool operator < ( none_t x, optional<T> const& y )
+bool operator < ( __attribute__ ((unused)) none_t x, optional<T> const& y )
-bool operator < ( none_t , optional<T> const& y )
+bool operator < ( __attribute__ ((unused)) none_t , optional<T> const& y )
{ return less_pointees(optional<T>() ,y); }
template<class T>
@@ -726,37 +726,6 @@
template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
{
--- misc/boost_1_44_0/boost/unordered/detail/node.hpp 2009-09-24 23:12:46.000000000 +0200
+++ misc/build/boost_1_44_0/boost/unordered/detail/node.hpp 2012-01-20 12:44:07.128316328 +0100
@@ -35,7 +35,7 @@
}
template <class A>
- inline std::size_t ungrouped_node_base<A>::group_count(node_ptr)
+ inline std::size_t ungrouped_node_base<A>::group_count(__attribute__ ((unused)) node_ptr)
{
return 1;
}
--- misc/boost_1_44_0/boost/unordered/detail/util.hpp 2010-02-25 20:05:01.000000000 +0100
+++ misc/build/boost_1_44_0/boost/unordered/detail/util.hpp 2012-01-20 12:44:07.128316328 +0100
@@ -149,7 +149,7 @@
#if defined(BOOST_UNORDERED_STD_FORWARD)
template <class T, class... Args>
- inline void construct_impl(T*, void* address, Args&&... args)
+ inline void construct_impl(__attribute__ ((unused)) T*, void* address, Args&&... args)
{
new(address) T(std::forward<Args>(args)...);
}
@@ -262,7 +262,7 @@
#endif
template <class K, class M>
- void construct_pair(K const& k, M*)
+ void construct_pair(K const& k, __attribute__ ((unused)) M*)
{
construct_preamble();
new(node_->address()) value_type(k, M());
--- misc/boost_1_44_0/boost/utility/addressof.hpp 2009-05-16 20:15:17.000000000 +0200
+++ misc/build/boost_1_44_0/boost/utility/addressof.hpp 2012-01-20 12:44:07.128316328 +0100
@@ -34,7 +34,7 @@
@@ -862,8 +831,8 @@
}
template <typename U>
- bool operator()(U&)
+ bool operator()(__attribute__ ((unused)) U&)
- bool operator()(U&) BOOST_NOEXCEPT
+ bool operator()(__attribute__ ((unused)) U&) BOOST_NOEXCEPT
{
return false;
}
@@ -921,44 +890,6 @@
{
typedef typename has_nothrow_copy<RhsT>::type
nothrow_copy;
--- misc/boost_1_44_0/libs/date_time/src/gregorian/greg_month.cpp 2012-01-20 15:24:32.362576125 +0100
+++ misc/build/boost_1_44_0/libs/date_time/src/gregorian/greg_month.cpp 2012-01-20 12:44:07.130316320 +0100
@@ -108,7 +108,7 @@
*/
BOOST_DATE_TIME_DECL
boost::date_time::all_date_names_put<greg_facet_config, char>*
- create_facet_def(char /* type */)
+ create_facet_def(__attribute__ ((unused)) char /* type */)
{
typedef
boost::date_time::all_date_names_put<greg_facet_config, char> facet_def;
@@ -121,7 +121,7 @@
}
//! generates a locale with the set of gregorian name-strings of type char*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, char /* type */){
+ BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, __attribute__ ((unused)) char /* type */){
typedef boost::date_time::all_date_names_put<greg_facet_config, char> facet_def;
return std::locale(loc, new facet_def(short_month_names,
long_month_names,
@@ -139,7 +139,7 @@
*/
BOOST_DATE_TIME_DECL
boost::date_time::all_date_names_put<greg_facet_config, wchar_t>*
- create_facet_def(wchar_t /* type */)
+ create_facet_def(__attribute__ ((unused)) wchar_t /* type */)
{
typedef
boost::date_time::all_date_names_put<greg_facet_config,wchar_t> facet_def;
@@ -152,7 +152,7 @@
}
//! generates a locale with the set of gregorian name-strings of type wchar_t*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, wchar_t /* type */){
+ BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, __attribute__ ((unused)) wchar_t /* type */){
typedef boost::date_time::all_date_names_put<greg_facet_config, wchar_t> facet_def;
return std::locale(loc, new facet_def(w_short_month_names,
w_long_month_names,
--- misc/boost_1_44_0/boost/ptr_container/detail/default_deleter.hpp
+++ misc/build/boost_1_44_0/boost/ptr_container/detail/default_deleter.hpp
@@ -61,7 +61,7 @@
diff --git a/download.lst b/download.lst
index 38466ab..50ecc7f 100644
--- a/download.lst
+++ b/download.lst
@@ -12,7 +12,7 @@ export APACHE_COMMONS_CODEC_TARBALL := 2e482c7567908d334785ce7d69ddfff7-commons-
export APACHE_COMMONS_HTTPCLIENT_TARBALL := 2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
export APACHE_COMMONS_LANG_TARBALL := 625ff5f2f968dd908bca43c9469d6e6b-commons-lang-2.4-src.tar.gz
export APACHE_COMMONS_LOGGING_TARBALL := 3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
export BOOST_TARBALL := f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
export BOOST_TARBALL := a00d22605d5dbcfb4c9936a9b35bc4c2-boost_1_53_0.tar.bz2
export BSH_TARBALL := ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz
export CAIRO_TARBALL := f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz
export CLUCENE_TARBALL := 48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz
diff --git a/liborcus/ExternalProject_liborcus.mk b/liborcus/ExternalProject_liborcus.mk
index 6808ec3..b6ae1ee 100644
--- a/liborcus/ExternalProject_liborcus.mk
+++ b/liborcus/ExternalProject_liborcus.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_ExternalProject_use_autoconf,liborcus,build))
$(eval $(call gb_ExternalProject_use_externals,liborcus, \
boost_headers \
boostsystem \
zlib \
))
@@ -36,6 +37,8 @@ liborcus_LIBS+=-lz
endif
ifeq ($(SYSTEM_BOOST),YES)
liborcus_LIBS+=$(BOOST_SYSTEM_LIB)
else
liborcus_LIBS+=$(SOLARLIB) -lboostsystem
endif
ifeq ($(OS),ANDROID)
liborcus_LIBS+=-lgnustl_shared -lm
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 5b383c4..014b833 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -28,6 +28,7 @@ $(eval $(call gb_Library_use_custom_headers,scfilt,\
$(eval $(call gb_Library_use_externals,scfilt,\
boost_headers \
boostsystem \
mdds_headers \
))