summaryrefslogtreecommitdiff
path: root/external/boost
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2015-07-15 08:24:22 +0200
committerMichael Stahl <mstahl@redhat.com>2015-07-30 15:24:45 +0200
commit5f321b5011c619e88e19018ff05ed3ca2cdd5851 (patch)
treedec6a29d9b77a6f704965c90b173722ce3d844c7 /external/boost
parentd62e6476ce6589ef2c014229a6fb2aa2116ce641 (diff)
Bump boost to 1.59
1.59 upcoming release is needed for MSVC 14.0 (aka VS 2015) support. There is a known breakage on MSVC with boost::none instance in optional library. Use not documented define as explained in this issue upstream [1]: BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE. [1] https://svn.boost.org/trac/boost/ticket/11203 Change-Id: I25b1797da93f7959d15a70105d67100e0e2c4b3b Reviewed-on: https://gerrit.libreoffice.org/17056 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'external/boost')
-rw-r--r--external/boost/UnpackedTarball_boost.mk68
-rw-r--r--external/boost/boost.7551.unusedvars.patch10
-rw-r--r--external/boost/boost.9397.warnings.patch.091
-rw-r--r--external/boost/boost.auto_link.patch12
-rw-r--r--external/boost/boost.bind.Wunused-local-typedefs.warnings.patch11
-rw-r--r--external/boost/boost.concept_check.C4100.warnings.patch19
-rw-r--r--external/boost/boost.concept_check.Wunused-local-typedefs.warnings.patch13
-rw-r--r--external/boost/boost.date_time.Wunused-local-typedefs.warnings.patch101
-rw-r--r--external/boost/boost.endian.patch11
-rw-r--r--external/boost/boost.gcc47679.patch86
-rw-r--r--external/boost/boost.loplugin.patch19
-rw-r--r--external/boost/boost.math.Wdeprecated-register.patch.036
-rw-r--r--external/boost/boost.math.Wunused-local-typedefs.warnings.patch34
-rw-r--r--external/boost/boost.multi_array.C4510.warnings.patch9
-rw-r--r--external/boost/boost.multi_array.Wshadow.warnings.patch.246
-rw-r--r--external/boost/boost.multi_array.Wundef.warnings.patch11
-rw-r--r--external/boost/boost.multi_array.Wunused-local-typedefs.warnings.patch5
-rw-r--r--external/boost/boost.multi_index.Wshadow.warnings.patch.194
-rw-r--r--external/boost/boost.predef.Wundef.warnings.patch11
-rw-r--r--external/boost/boost.preprocessor.Wundef.warnings.patch111
-rw-r--r--external/boost/boost.property_tree.Wshadow.warnings.patch.1137
-rw-r--r--external/boost/boost.property_tree.Wtype-limits.warnings.patch.141
-rw-r--r--external/boost/boost.random.Wshadow.warnings.patch277
-rw-r--r--external/boost/boost.random.Wunused-local-typedefs.warnings.patch27
-rw-r--r--external/boost/boost.spirit.Wunused-local-typedefs.warnings.patch34
-rw-r--r--external/boost/boost.std.move.patch13
-rw-r--r--external/boost/boost.transform_width.patch11
-rw-r--r--external/boost/boost.tuple.Wunused-local-typedefs.warnings.patch10
-rw-r--r--external/boost/boost.unordered.Wshadow.warnings.patch146
-rw-r--r--external/boost/boost.uuid.Wshadow.warnings.patch24
-rw-r--r--external/boost/boost.vc2012.patch25
-rw-r--r--external/boost/boost.wdeprecated-auto_ptr.patch.098
-rw-r--r--external/boost/boost.windows.patch12
-rw-r--r--external/boost/boost_1_44_0-unused-parameters.patch841
-rw-r--r--external/boost/boost_1_59_0.iostreams.wshadow.patch197
-rw-r--r--external/boost/boost_1_59_0.iostreams.wunused.patch12
-rw-r--r--external/boost/boost_1_59_0.move.Bool-type-collision.4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.patch44
-rw-r--r--external/boost/boost_1_59_0.mpl.config.wundef.patch11
-rw-r--r--external/boost/boost_1_59_0.multi_array.wshadow.patch505
-rw-r--r--external/boost/boost_1_59_0.property_tree.wreturn-type.patch13
-rw-r--r--external/boost/boost_1_59_0.property_tree.wshadow.patch83
-rw-r--r--external/boost/boost_1_59_0.property_tree.wtype-limits.patch19
-rw-r--r--external/boost/boost_1_59_0.rational.wshadow.patch12
-rw-r--r--external/boost/boost_1_59_0.signal2.wshadow.patch63
-rw-r--r--external/boost/boost_1_59_0.type_index.wshadow.patch15
-rw-r--r--external/boost/boost_1_59_0.unique_ptr.wshadow.patch14
-rw-r--r--external/boost/w4702.patch.010
47 files changed, 1845 insertions, 1647 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index b0ffa9e21c89..8e9d6242d245 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -10,51 +10,25 @@
boost_patches :=
#https://svn.boost.org/trac/boost/ticket/3780
boost_patches += boost.3780.aliasing.patch
-#https://svn.boost.org/trac/boost/ticket/9397
-boost_patches += boost.9397.warnings.patch.0
#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/7551
-boost_patches += boost.7551.unusedvars.patch
#https://svn.boost.org/trac/boost/ticket/6142
boost_patches += boost.6142.warnings.patch.1
-# fixed upstream
-boost_patches += boost.bind.Wunused-local-typedefs.warnings.patch
-# fixed upstream
-boost_patches += boost.concept_check.C4100.warnings.patch
-# fixed upstream
-boost_patches += boost.concept_check.Wunused-local-typedefs.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9881
boost_patches += boost.crc.Wshadow.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9882
boost_patches += boost.date_time.Wshadow.warnings.patch
-# https://svn.boost.org/trac/boost/ticket/9883
-boost_patches += boost.date_time.Wunused-local-typedefs.warnings.patch
-# fixed upstream
-boost_patches += boost.math.Wdeprecated-register.patch.0
-# fixed upstream
-boost_patches += boost.math.Wunused-local-typedefs.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9885
boost_patches += boost.multi_array.C4510.warnings.patch
-# https://svn.boost.org/trac/boost/ticket/9886
-boost_patches += boost.multi_array.Wshadow.warnings.patch.2
-# fixed upstream
-boost_patches += boost.multi_array.Wundef.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9888
boost_patches += boost.multi_array.Wunused-local-typedefs.warnings.patch
-# fixed upstream
-boost_patches += boost.multi_index.Wshadow.warnings.patch.1
-# https://svn.boost.org/trac/boost/ticket/9889
-boost_patches += boost.predef.Wundef.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9891
boost_patches += boost.preprocessor.Wundef.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9892
boost_patches += boost.property_tree.Wshadow.warnings.patch.1
-# https://svn.boost.org/trac/boost/ticket/9893
-boost_patches += boost.property_tree.Wtype-limits.warnings.patch.1
# https://svn.boost.org/trac/boost/ticket/9894
boost_patches += boost.ptr_container.Wshadow.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9895
@@ -63,8 +37,6 @@ boost_patches += boost.ptr_container.Wignored-qualifiers.warnings.patch
boost_patches += boost.ptr_container.Wextra.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9897
boost_patches += boost.ptr_container.Wunused-parameter.warnings.patch
-# https://svn.boost.org/trac/boost/ticket/9898
-boost_patches += boost.random.Wshadow.warnings.patch
# fixed upstream
boost_patches += boost.random.Wunused-local-typedefs.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9900
@@ -74,21 +46,8 @@ boost_patches += boost.spirit.Wunused-local-typedefs.warnings.patch
# to-do: submit upstream
boost_patches += boost.spirit.Wunused-parameter.warnings.patch
boost_patches += boost.date_time.Wshadow.warnings.patch.1
-# fixed upstream
-boost_patches += boost.unordered.Wshadow.warnings.patch
-# fixed upstream
-boost_patches += boost.tuple.Wunused-local-typedefs.warnings.patch
# https://svn.boost.org/trac/boost/ticket/9903
boost_patches += boost.utility.Wundef.warnings.patch
-# fixed upstream
-boost_patches += boost.uuid.Wshadow.warnings.patch
-
-# https://svn.boost.org/trac/boost/ticket/9890
-boost_patches += boost.endian.patch
-# fixed upstream
-boost_patches += boost.loplugin.patch
-# fixed upstream
-boost_patches += boost.transform_width.patch
# Help static analysis tools (see SAL_UNUSED_PARAMETER in sal/types.h):
ifeq (GCC,$(COM))
@@ -105,11 +64,36 @@ boost_patches += boost.wunused.patch
boost_patches += boost.wdeprecated-auto_ptr.patch.0
boost_patches += boost.signal2.Wshadow.warnings.patch
boost_patches += boost.boost_static_assert_unused_attribute.patch.0
-boost_patches += w4702.patch.0
boost_patches += ubsan.patch.0
boost_patches += rtti.patch.0
+# https://svn.boost.org/trac/boost/ticket/11505
+boost_patches += boost_1_59_0.mpl.config.wundef.patch
+# https://svn.boost.org/trac/boost/ticket/11503
+boost_patches += boost_1_59_0.type_index.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11502
+boost_patches += boost_1_59_0.property_tree.wtype-limits.patch
+# https://svn.boost.org/trac/boost/ticket/11507
+boost_patches += boost_1_59_0.property_tree.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11508
+boost_patches += boost_1_59_0.iostreams.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11509
+boost_patches += boost_1_59_0.iostreams.wunused.patch
+# https://svn.boost.org/trac/boost/ticket/11506
+boost_patches += boost_1_59_0.rational.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11510
+boost_patches += boost_1_59_0.unique_ptr.wshadow.patch
+# fixed upstream
+# https://svn.boost.org/trac/boost/ticket/11500
+boost_patches += boost_1_59_0.move.Bool-type-collision.4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.patch
+# https://svn.boost.org/trac/boost/ticket/11511
+boost_patches += boost_1_59_0.multi_array.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11512
+boost_patches += boost_1_59_0.signal2.wshadow.patch
+# https://svn.boost.org/trac/boost/ticket/11501
+boost_patches += boost_1_59_0.property_tree.wreturn-type.patch
+
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
$(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))
diff --git a/external/boost/boost.7551.unusedvars.patch b/external/boost/boost.7551.unusedvars.patch
deleted file mode 100644
index a80d4a14e914..000000000000
--- a/external/boost/boost.7551.unusedvars.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- misc/boost_1_44_0/boost/date_time/tz_db_base.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/tz_db_base.hpp
-@@ -170,7 +170,6 @@
- /*! May throw data_not_accessible, or bad_field_count exceptions */
- void load_from_file(const std::string& pathspec)
- {
-- string_type in_str;
- std::string buff;
-
- std::ifstream ifs(pathspec.c_str());
diff --git a/external/boost/boost.9397.warnings.patch.0 b/external/boost/boost.9397.warnings.patch.0
deleted file mode 100644
index 429d7074f4cd..000000000000
--- a/external/boost/boost.9397.warnings.patch.0
+++ /dev/null
@@ -1,91 +0,0 @@
-Index: boost/predef/os/bsd/bsdi.h
-===================================================================
---- boost/predef/os/bsd/bsdi.h (revision 86709)
-+++ boost/predef/os/bsd/bsdi.h (working copy)
-@@ -24,7 +24,7 @@
-
- #define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(__bsdi__) \
- )
- # ifndef BOOST_OS_BSD_AVAILABLE
-Index: boost/predef/os/bsd/dragonfly.h
-===================================================================
---- boost/predef/os/bsd/dragonfly.h (revision 86709)
-+++ boost/predef/os/bsd/dragonfly.h (working copy)
-@@ -24,7 +24,7 @@
-
- #define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(__DragonFly__) \
- )
- # ifndef BOOST_OS_BSD_AVAILABLE
-Index: boost/predef/os/bsd/free.h
-===================================================================
---- boost/predef/os/bsd/free.h (revision 86709)
-+++ boost/predef/os/bsd/free.h (working copy)
-@@ -26,7 +26,7 @@
-
- #define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(__FreeBSD__) \
- )
- # ifndef BOOST_OS_BSD_AVAILABLE
-Index: boost/predef/os/bsd/net.h
-===================================================================
---- boost/predef/os/bsd/net.h (revision 86709)
-+++ boost/predef/os/bsd/net.h (working copy)
-@@ -31,7 +31,7 @@
-
- #define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(__NETBSD__) || defined(__NetBSD__) \
- )
- # ifndef BOOST_OS_BSD_AVAILABLE
-Index: boost/predef/os/bsd/open.h
-===================================================================
---- boost/predef/os/bsd/open.h (revision 86709)
-+++ boost/predef/os/bsd/open.h (working copy)
-@@ -55,7 +55,7 @@
-
- #define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(__OpenBSD__) \
- )
- # ifndef BOOST_OS_BSD_AVAILABLE
-Index: boost/predef/os/bsd.h
-===================================================================
---- boost/predef/os/bsd.h (revision 86709)
-+++ boost/predef/os/bsd.h (working copy)
-@@ -59,7 +59,7 @@
- #define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
- #endif
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(BSD) || \
- defined(_SYSTYPE_BSD) \
- )
-Index: boost/predef/os/macos.h
-===================================================================
---- boost/predef/os/macos.h (revision 86709)
-+++ boost/predef/os/macos.h (working copy)
-@@ -31,7 +31,7 @@
-
- #define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
--#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
-+#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
- defined(macintosh) || defined(Macintosh) || \
- (defined(__APPLE__) && defined(__MACH__)) \
- )
diff --git a/external/boost/boost.auto_link.patch b/external/boost/boost.auto_link.patch
index 556d14e0feea..ed60dec66e8d 100644
--- a/external/boost/boost.auto_link.patch
+++ b/external/boost/boost.auto_link.patch
@@ -1,6 +1,7 @@
---- foo/foo/foo/boost/config/auto_link.hpp
-+++ foo/foo/foo/boost/config/auto_link.hpp
-@@ -357,37 +357,6 @@
+diff -ru boost.orig/boost/config/auto_link.hpp boost/boost/config/auto_link.hpp
+--- foo/misc/boost.orig/boost/config/auto_link.hpp 2015-05-07 19:11:52.000000000 +0200
++++ foo/misc/boost/boost/config/auto_link.hpp 2015-07-18 22:34:14.371946475 +0200
+@@ -367,42 +367,6 @@
# define BOOST_LIB_PREFIX "lib"
#endif
@@ -24,6 +25,11 @@
-# ifdef BOOST_LIB_DIAGNOSTIC
-# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-# endif
+-#elif defined(BOOST_LIB_BUILDID)
+-# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
+-# ifdef BOOST_LIB_DIAGNOSTIC
+-# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
+-# endif
-#else
-# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-# ifdef BOOST_LIB_DIAGNOSTIC
diff --git a/external/boost/boost.bind.Wunused-local-typedefs.warnings.patch b/external/boost/boost.bind.Wunused-local-typedefs.warnings.patch
deleted file mode 100644
index 0f8c573e55a0..000000000000
--- a/external/boost/boost.bind.Wunused-local-typedefs.warnings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- misc/boost_1_44_0/boost/bind/arg.hpp
-+++ misc/build/boost_1_44_0/boost/bind/arg.hpp
-@@ -35,6 +35,8 @@
- {
- // static assert I == is_placeholder<T>::value
- typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
-+ T_must_be_placeholder dummy; (void) dummy;
-+ // silence -Werror=unused-local-typedefs (GCC 4.8)
- }
- };
-
diff --git a/external/boost/boost.concept_check.C4100.warnings.patch b/external/boost/boost.concept_check.C4100.warnings.patch
deleted file mode 100644
index ea475777c7f2..000000000000
--- a/external/boost/boost.concept_check.C4100.warnings.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- misc/boost_1_44_0/boost/concept/detail/msvc.hpp
-+++ misc/build/boost_1_44_0/boost/concept/detail/msvc.hpp
-@@ -12,6 +12,9 @@
- # include <boost/mpl/if.hpp>
- # endif
-
-+// disable spurious "unreferenced formal parameter" warnings
-+#pragma warning( push )
-+#pragma warning( disable: 4100 )
-
- namespace boost { namespace concepts {
-
-@@ -111,4 +114,6 @@
- # endif
- }}
-
-+#pragma warning( pop )
-+
- #endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/external/boost/boost.concept_check.Wunused-local-typedefs.warnings.patch b/external/boost/boost.concept_check.Wunused-local-typedefs.warnings.patch
deleted file mode 100644
index 309679441f23..000000000000
--- a/external/boost/boost.concept_check.Wunused-local-typedefs.warnings.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- misc/boost_1_44_0/boost/concept/detail/general.hpp
-+++ misc/build/boost_1_44_0/boost/concept/detail/general.hpp
-@@ -68,7 +68,9 @@
- # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
- typedef ::boost::concepts::detail::instantiate< \
- &::boost::concepts::requirement_<ModelFnPtr>::failed> \
-- BOOST_PP_CAT(boost_concept_check,__LINE__)
-+ BOOST_PP_CAT(boost_concept_check,__LINE__); \
-+ void BOOST_PP_CAT(boost_concept_check_dummy,__LINE__)(BOOST_PP_CAT(boost_concept_check,__LINE__) *)
-+ // silence -Werror=unused-local-typedefs (GCC 4.8)
-
- }}
-
diff --git a/external/boost/boost.date_time.Wunused-local-typedefs.warnings.patch b/external/boost/boost.date_time.Wunused-local-typedefs.warnings.patch
deleted file mode 100644
index 5d28f66f9d6e..000000000000
--- a/external/boost/boost.date_time.Wunused-local-typedefs.warnings.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- a/b/boost/boost/date_time/gregorian/greg_facet.hpp 2013-05-31 14:03:30.476695310 +0200
-+++ a/b/boost/boost/date_time/gregorian/greg_facet.hpp 2013-05-31 14:03:22.894669713 +0200
-@@ -215,7 +215,6 @@
- {
- std::istream_iterator<std::basic_string<charT>, charT> beg(is), eos;
-
-- typedef boost::date_time::all_date_names_put<greg_facet_config, charT> facet_def;
- d = from_stream(beg, eos);
- return is;
- }
---- misc/boost_1_44_0/boost/date_time/date_parsing.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/date_parsing.hpp
-@@ -113,7 +113,6 @@
- spec_str = "mdy";
- }
-
-- typedef typename date_type::year_type year_type;
- typedef typename date_type::month_type month_type;
- unsigned pos = 0;
- unsigned short year(0), month(0), day(0);
-@@ -159,7 +158,7 @@
- parse_undelimited_date(const std::string& s) {
- int offsets[] = {4,2,2};
- int pos = 0;
-- typedef typename date_type::year_type year_type;
-+ //typedef typename date_type::year_type year_type;
- //typename date_type::ymd_type ymd((year_type::min)(),1,1);
- unsigned short y = 0, m = 0, d = 0;
-
---- misc/boost_1_44_0/boost/date_time/local_time/local_time_io.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/local_time/local_time_io.hpp
-@@ -36,7 +36,6 @@
- boost::io::ios_flags_saver iflags(os);
- typedef local_date_time time_type;//::utc_time_type typename
- typedef date_time::time_facet<time_type, CharT> custom_time_facet;
-- typedef std::time_put<CharT> std_time_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
-
- if(std::has_facet<custom_time_facet>(os.getloc())) {
-@@ -123,7 +122,6 @@
- const boost::local_time::local_time_period& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<local_date_time, CharT> custom_facet;
-- typedef std::time_put<CharT> std_time_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_facet>(os.getloc())) {
- std::use_facet<custom_facet>(os.getloc()).put(oitr, os, os.fill(), p);
---- misc/boost_1_44_0/boost/date_time/posix_time/posix_time_io.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/posix_time/posix_time_io.hpp
-@@ -47,7 +47,6 @@
- const ptime& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
-- typedef std::time_put<CharT> std_ptime_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc()))
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
-@@ -114,7 +113,6 @@
- const boost::posix_time::time_period& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
-- typedef std::time_put<CharT> std_time_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc())) {
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
-@@ -180,7 +178,6 @@
- {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
-- typedef std::time_put<CharT> std_ptime_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc()))
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), td);
---- misc/boost_1_44_0/boost/date_time/string_convert.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/string_convert.hpp
-@@ -21,7 +21,6 @@
- inline
- std::basic_string<OutputT> convert_string_type(const std::basic_string<InputT>& inp_str)
- {
-- typedef std::basic_string<InputT> input_type;
- typedef std::basic_string<OutputT> output_type;
- output_type result;
- result.insert(result.begin(), inp_str.begin(), inp_str.end());
---- misc/boost_1_44_0/boost/date_time/strings_from_facet.hpp
-+++ misc/build/boost_1_44_0/boost/date_time/strings_from_facet.hpp
-@@ -35,7 +35,6 @@
- {
- typedef std::basic_string<charT> string_type;
- typedef std::vector<string_type> collection_type;
-- typedef std::basic_ostringstream<charT> ostream_type;
- typedef std::ostreambuf_iterator<charT> ostream_iter_type;
- typedef std::basic_ostringstream<charT> stringstream_type;
- typedef std::time_put<charT> time_put_facet_type;
-@@ -85,7 +84,6 @@
- {
- typedef std::basic_string<charT> string_type;
- typedef std::vector<string_type> collection_type;
-- typedef std::basic_ostringstream<charT> ostream_type;
- typedef std::ostreambuf_iterator<charT> ostream_iter_type;
- typedef std::basic_ostringstream<charT> stringstream_type;
- typedef std::time_put<charT> time_put_facet_type;
diff --git a/external/boost/boost.endian.patch b/external/boost/boost.endian.patch
deleted file mode 100644
index 0982090f27f9..000000000000
--- a/external/boost/boost.endian.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- foo/foo/foo/boost/predef/other/endian.h
-+++ foo/foo/foo/boost/predef/other/endian.h
-@@ -53,7 +53,7 @@
- */
- #if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
--# if BOOST_LIB_C_GNU
-+# if BOOST_LIB_C_GNU || defined(__ANDROID__)
- # include <endian.h>
- # else
- # if BOOST_OS_MACOS
diff --git a/external/boost/boost.gcc47679.patch b/external/boost/boost.gcc47679.patch
index e62a874c1bfc..06cbd0f10729 100644
--- a/external/boost/boost.gcc47679.patch
+++ b/external/boost/boost.gcc47679.patch
@@ -1,24 +1,34 @@
---- misc/boost_1_44_0/boost/utility/compare_pointees.hpp 2011-02-10 16:39:05.960176555 +0000
-+++ misc/build/boost_1_44_0/boost/utility/compare_pointees.hpp 2011-02-10 16:40:59.091423279 +0000
-@@ -29,7 +29,11 @@
- inline
- bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
- {
-- return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
-+ if (!x && !y)
-+ return true;
-+ if (!x || !y)
-+ return false;
-+ return (*x) == (*y);
- }
+diff -ru boost.orig/boost/optional/optional.hpp boost/boost/optional/optional.hpp
+--- foo/misc/boost.orig/boost/optional/optional.hpp 2015-07-18 11:27:36.168127029 +0200
++++ foo/misc/boost/boost/optional/optional.hpp 2015-07-18 20:36:13.777997833 +0200
+@@ -53,6 +53,8 @@
- template<class OptionalPointee>
---- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000
-@@ -219,6 +219,20 @@
+ #include <boost/optional/optional_fwd.hpp>
+
++#include <string.h>
++
+ #if (defined BOOST_NO_CXX11_RVALUE_REFERENCES) || (defined BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES)
+ #define BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
+ #endif
+@@ -134,6 +136,11 @@
+
+ public:
+
++ aligned_storage()
++ {
++ memset(&dummy_, 0, sizeof(dummy_));
++ }
++
+ #if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+ void const* address() const { return &dummy_; }
+ void * address() { return &dummy_; }
+diff -ru boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-07-18 11:27:36.169127029 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-07-18 20:34:32.110998976 +0200
+@@ -218,6 +218,19 @@
+ }
}
};
-
+ template <int Radix>
+ struct negative_accumulate<unsigned char, Radix>
+ {
@@ -32,30 +42,22 @@
+ return true;
+ }
+ };
-+
+
template <int MaxDigits>
inline bool allow_more_digits(std::size_t i)
- {
---- misc/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
-+++ misc/build/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
-@@ -31,6 +31,8 @@
-
- #include <boost/optional/optional_fwd.hpp>
-
-+#include <string.h>
-+
- #if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
- // VC6.0 has the following bug:
- // When a templated assignment operator exist, an implicit conversion
-@@ -114,6 +116,11 @@
-
- public:
+diff -ru boost.orig/boost/utility/compare_pointees.hpp boost/boost/utility/compare_pointees.hpp
+--- foo/misc/boost.orig/boost/utility/compare_pointees.hpp 2015-02-27 07:26:11.000000000 +0100
++++ foo/misc/boost/boost/utility/compare_pointees.hpp 2015-07-18 20:20:41.388988458 +0200
+@@ -29,7 +29,11 @@
+ inline
+ bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
+ {
+- return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
++ if (!x && !y)
++ return true;
++ if (!x || !y)
++ return false;
++ return (*x) == (*y);
+ }
-+ aligned_storage()
-+ {
-+ memset(&dummy_, 0, sizeof(dummy_));
-+ }
-+
- #if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
- void const* address() const { return &dummy_; }
- void * address() { return &dummy_; }
+ template<class OptionalPointee>
diff --git a/external/boost/boost.loplugin.patch b/external/boost/boost.loplugin.patch
deleted file mode 100644
index 7c35d33034bd..000000000000
--- a/external/boost/boost.loplugin.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- 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/external/boost/boost.math.Wdeprecated-register.patch.0 b/external/boost/boost.math.Wdeprecated-register.patch.0
deleted file mode 100644
index d11de3a817ed..000000000000
--- a/external/boost/boost.math.Wdeprecated-register.patch.0
+++ /dev/null
@@ -1,36 +0,0 @@
---- boost/math/special_functions/detail/lanczos_sse2.hpp
-+++ boost/math/special_functions/detail/lanczos_sse2.hpp
-@@ -51,11 +51,11 @@
- static_cast<double>(23531376880.41075968857200767445163675473L),
- static_cast<double>(0u)
- };
-- register __m128d vx = _mm_load1_pd(&x);
-- register __m128d sum_even = _mm_load_pd(coeff);
-- register __m128d sum_odd = _mm_load_pd(coeff+2);
-- register __m128d nc_odd, nc_even;
-- register __m128d vx2 = _mm_mul_pd(vx, vx);
-+ __m128d vx = _mm_load1_pd(&x);
-+ __m128d sum_even = _mm_load_pd(coeff);
-+ __m128d sum_odd = _mm_load_pd(coeff+2);
-+ __m128d nc_odd, nc_even;
-+ __m128d vx2 = _mm_mul_pd(vx, vx);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 4);
-@@ -136,11 +136,11 @@
- static_cast<double>(56906521.91347156388090791033559122686859L),
- static_cast<double>(0u)
- };
-- register __m128d vx = _mm_load1_pd(&x);
-- register __m128d sum_even = _mm_load_pd(coeff);
-- register __m128d sum_odd = _mm_load_pd(coeff+2);
-- register __m128d nc_odd, nc_even;
-- register __m128d vx2 = _mm_mul_pd(vx, vx);
-+ __m128d vx = _mm_load1_pd(&x);
-+ __m128d sum_even = _mm_load_pd(coeff);
-+ __m128d sum_odd = _mm_load_pd(coeff+2);
-+ __m128d nc_odd, nc_even;
-+ __m128d vx2 = _mm_mul_pd(vx, vx);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 4);
diff --git a/external/boost/boost.math.Wunused-local-typedefs.warnings.patch b/external/boost/boost.math.Wunused-local-typedefs.warnings.patch
deleted file mode 100644
index e74c149f9e94..000000000000
--- a/external/boost/boost.math.Wunused-local-typedefs.warnings.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/b/boost/boost/math/special_functions/fpclassify.hpp 2013-05-31 14:02:13.660436127 +0200
-+++ a/b/boost/boost/math/special_functions/fpclassify.hpp 2013-05-31 14:01:17.372246240 +0200
-@@ -339,7 +338,6 @@
- { //!< \brief return true if floating-point type t is finite.
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
-- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isfinite_impl(static_cast<value_type>(x), method());
- }
-@@ -410,7 +407,6 @@
- {
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
-- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isnormal_impl(static_cast<value_type>(x), method());
- }
-@@ -499,7 +494,6 @@
- {
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
-- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isinf_impl(static_cast<value_type>(x), method());
- }
-@@ -585,7 +578,6 @@
- { //!< \brief return true if floating-point type t is NaN (Not A Number).
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
-- typedef boost::is_floating_point<long double>::type fp_tag;
- return detail::isnan_impl(x, method());
- }
- #endif
diff --git a/external/boost/boost.multi_array.C4510.warnings.patch b/external/boost/boost.multi_array.C4510.warnings.patch
index 11fdaceef1e2..d450ace6bfd7 100644
--- a/external/boost/boost.multi_array.C4510.warnings.patch
+++ b/external/boost/boost.multi_array.C4510.warnings.patch
@@ -1,6 +1,7 @@
---- misc/boost_1_44_0/boost/multi_array/concept_checks.hpp
-+++ misc/build/boost_1_44_0/boost/multi_array/concept_checks.hpp
-@@ -56,6 +56,13 @@
+diff -ru boost.orig/boost/multi_array/concept_checks.hpp boost/boost/multi_array/concept_checks.hpp
+--- foo/misc/boost.orig/boost/multi_array/concept_checks.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/concept_checks.hpp 2015-07-18 20:58:17.222982959 +0200
+@@ -58,6 +58,13 @@
} // namespace detail
@@ -14,7 +15,7 @@
template <typename Array, std::size_t NumDims >
struct ConstMultiArrayConcept
-@@ -117,6 +124,9 @@
+@@ -119,6 +126,9 @@
index_range range;
};
diff --git a/external/boost/boost.multi_array.Wshadow.warnings.patch.2 b/external/boost/boost.multi_array.Wshadow.warnings.patch.2
deleted file mode 100644
index 1f8f0b5b8ed1..000000000000
--- a/external/boost/boost.multi_array.Wshadow.warnings.patch.2
+++ /dev/null
@@ -1,46 +0,0 @@
-From d28b2bc733d85b0bb194f395375f2a460b9be00d Mon Sep 17 00:00:00 2001
-From: Michael Stahl <mstahl@redhat.com>
-Date: Wed, 30 Apr 2014 12:27:55 +0200
-Subject: [PATCH] multi_array: suppress GCC -Wshadow warnings (fixes: #9886)
-
----
- include/boost/multi_array.hpp | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/include/boost/multi_array.hpp b/include/boost/multi_array.hpp
-index 8193699..72b2294 100644
---- a/include/boost/multi_array.hpp
-+++ b/include/boost/multi_array.hpp
-@@ -18,6 +18,16 @@
- // declaration and definition
- //
-
-+#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406)
-+# pragma GCC diagnostic push
-+# pragma GCC diagnostic ignored "-Wshadow"
-+#endif
-+
-+#if defined(__clang__)
-+# pragma clang diagnostic push
-+# pragma clang diagnostic ignored "-Wshadow"
-+#endif
-+
- #include "boost/multi_array/base.hpp"
- #include "boost/multi_array/collection_concept.hpp"
- #include "boost/multi_array/copy_array.hpp"
-@@ -496,4 +501,12 @@ private:
-
- } // namespace boost
-
-+#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406)
-+# pragma GCC diagnostic pop
-+#endif
-+
-+#if defined(__clang__)
-+# pragma clang diagnostic pop
-+#endif
-+
- #endif // BOOST_MULTI_ARRAY_RG071801_HPP
---
-1.8.3.1
-
diff --git a/external/boost/boost.multi_array.Wundef.warnings.patch b/external/boost/boost.multi_array.Wundef.warnings.patch
deleted file mode 100644
index e17c734972ad..000000000000
--- a/external/boost/boost.multi_array.Wundef.warnings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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;
diff --git a/external/boost/boost.multi_array.Wunused-local-typedefs.warnings.patch b/external/boost/boost.multi_array.Wunused-local-typedefs.warnings.patch
index b0be548649fa..3edcfccbce40 100644
--- a/external/boost/boost.multi_array.Wunused-local-typedefs.warnings.patch
+++ b/external/boost/boost.multi_array.Wunused-local-typedefs.warnings.patch
@@ -1,5 +1,6 @@
---- misc/boost_1_44_0/boost/multi_array/concept_checks.hpp
-+++ misc/build/boost_1_44_0/boost/multi_array/concept_checks.hpp
+diff -ru boost.orig/boost/multi_array/concept_checks.hpp boost/boost/multi_array/concept_checks.hpp
+--- foo/misc/boost.orig/boost/multi_array/concept_checks.hpp 2015-07-18 21:20:26.353996242 +0200
++++ foo/misc/boost/boost/multi_array/concept_checks.hpp 2015-07-18 21:21:05.202995805 +0200
@@ -39,8 +39,6 @@
template <typename Array, typename IdxGen, typename Call_Type>
diff --git a/external/boost/boost.multi_index.Wshadow.warnings.patch.1 b/external/boost/boost.multi_index.Wshadow.warnings.patch.1
deleted file mode 100644
index 58c39c0b1a66..000000000000
--- a/external/boost/boost.multi_index.Wshadow.warnings.patch.1
+++ /dev/null
@@ -1,94 +0,0 @@
---- boost/boost/multi_index/sequenced_index.hpp 2008-07-03 18:51:53.000000000 +0200
-+++ boost/boost/multi_index/sequenced_index.hpp 2013-05-17 15:44:15.265289335 +0200
-@@ -346,7 +346,7 @@
- }
-
- template<typename Modifier,typename Rollback>
-- bool modify(iterator position,Modifier mod,Rollback back)
-+ bool modify(iterator position,Modifier mod,Rollback back_)
- {
- BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
- BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-@@ -363,7 +363,7 @@
- #endif
-
- return this->final_modify_(
-- mod,back,static_cast<final_node_type*>(position.get_node()));
-+ mod,back_,static_cast<final_node_type*>(position.get_node()));
- }
-
- void swap(sequenced_index<SuperMeta,TagList>& x)
---- boost/boost/multi_index_container.hpp 2010-07-24 11:20:29.000000000 +0200
-+++ boost/boost/multi_index_container.hpp 2013-05-17 15:45:56.723899853 +0200
-@@ -360,7 +360,7 @@
- IteratorType it
- BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
- {
-- typedef typename nth_index<N>::type index;
-+ typedef typename nth_index<N>::type index_;
-
- #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
- BOOST_STATIC_ASSERT(
-@@ -371,7 +371,7 @@
- BOOST_MULTI_INDEX_CHECK_IS_OWNER(
- it,static_cast<typename IteratorType::container_type&>(*this));
-
-- return index::make_iterator(static_cast<node_type*>(it.get_node()));
-+ return index_::make_iterator(static_cast<node_type*>(it.get_node()));
- }
-
- template<int N,typename IteratorType>
-@@ -379,7 +379,7 @@
- IteratorType it
- BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))const
- {
-- typedef typename nth_index<N>::type index;
-+ typedef typename nth_index<N>::type index_;
-
- #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
- BOOST_STATIC_ASSERT((
-@@ -390,7 +390,7 @@
- BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
- BOOST_MULTI_INDEX_CHECK_IS_OWNER(
- it,static_cast<const typename IteratorType::container_type&>(*this));
-- return index::make_iterator(static_cast<node_type*>(it.get_node()));
-+ return index_::make_iterator(static_cast<node_type*>(it.get_node()));
- }
- #endif
-
-@@ -414,7 +414,7 @@
- IteratorType it
- BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
- {
-- typedef typename index<Tag>::type index;
-+ typedef typename index<Tag>::type index_;
-
- #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
- BOOST_STATIC_ASSERT(
-@@ -424,7 +424,7 @@
- BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
- BOOST_MULTI_INDEX_CHECK_IS_OWNER(
- it,static_cast<typename IteratorType::container_type&>(*this));
-- return index::make_iterator(static_cast<node_type*>(it.get_node()));
-+ return index_::make_iterator(static_cast<node_type*>(it.get_node()));
- }
-
- template<typename Tag,typename IteratorType>
-@@ -432,7 +432,7 @@
- IteratorType it
- BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))const
- {
-- typedef typename index<Tag>::type index;
-+ typedef typename index<Tag>::type index_;
-
- #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
- BOOST_STATIC_ASSERT((
-@@ -443,7 +443,7 @@
- BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
- BOOST_MULTI_INDEX_CHECK_IS_OWNER(
- it,static_cast<const typename IteratorType::container_type&>(*this));
-- return index::make_iterator(static_cast<node_type*>(it.get_node()));
-+ return index_::make_iterator(static_cast<node_type*>(it.get_node()));
- }
- #endif
-
diff --git a/external/boost/boost.predef.Wundef.warnings.patch b/external/boost/boost.predef.Wundef.warnings.patch
deleted file mode 100644
index 81e8e2372ec4..000000000000
--- a/external/boost/boost.predef.Wundef.warnings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- foo/foo/foo/boost/predef/other/endian.h
-+++ foo/foo/foo/boost/predef/other/endian.h
-@@ -77,7 +77,7 @@
- # undef BOOST_ENDIAN_LITTLE_BYTE
- # define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
- # endif
--# if (__BYTE_ORDER == __PDP_ENDIAN)
-+# if defined(__PDP_ENDIAN) && (__BYTE_ORDER == __PDP_ENDIAN)
- # undef BOOST_ENDIAN_LITTLE_WORD
- # define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
- # endif
diff --git a/external/boost/boost.preprocessor.Wundef.warnings.patch b/external/boost/boost.preprocessor.Wundef.warnings.patch
index 63fa958ca27d..1dc9888379d6 100644
--- a/external/boost/boost.preprocessor.Wundef.warnings.patch
+++ b/external/boost/boost.preprocessor.Wundef.warnings.patch
@@ -1,18 +1,32 @@
---- foo/foo/foo/boost/preprocessor/config/config.hpp
-+++ foo/foo/foo/boost/preprocessor/config/config.hpp
-@@ -90,7 +90,7 @@
- # define BOOST_PP_VARIADICS 0
- # endif
+diff -ur boost.orig/boost/preprocessor/config/config.hpp boost/boost/preprocessor/config/config.hpp
+--- foo/misc/boost.orig/boost/preprocessor/config/config.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/config/config.hpp 2015-07-16 07:47:54.969987660 +0200
+@@ -79,7 +79,7 @@
+ # define BOOST_PP_VARIADICS 1
+ # define BOOST_PP_VARIADICS_MSVC 1
# /* Wave (C/C++), GCC (C++) */
-# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
-+# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined __GXX_EXPERIMENTAL_CXX0X__ && __GXX_EXPERIMENTAL_CXX0X__
++# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__
# define BOOST_PP_VARIADICS 1
# /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
# elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
---- 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>
+diff -ur boost.orig/boost/preprocessor/tuple/detail/is_single_return.hpp boost/boost/preprocessor/tuple/detail/is_single_return.hpp
+--- foo/misc/boost.orig/boost/preprocessor/tuple/detail/is_single_return.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/tuple/detail/is_single_return.hpp 2015-07-16 07:57:29.881981198 +0200
+@@ -16,7 +16,7 @@
+ #
+ # /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */
+ #
+-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
++# if BOOST_PP_VARIADICS && defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
+ # include <boost/preprocessor/control/iif.hpp>
+ # include <boost/preprocessor/facilities/is_1.hpp>
+ # include <boost/preprocessor/tuple/size.hpp>
+diff -ur boost.orig/boost/preprocessor/tuple/elem.hpp boost/boost/preprocessor/tuple/elem.hpp
+--- foo/misc/boost.orig/boost/preprocessor/tuple/elem.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/tuple/elem.hpp 2015-07-16 07:49:08.509986833 +0200
+@@ -24,7 +24,7 @@
+ # include <boost/preprocessor/tuple/detail/is_single_return.hpp>
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
@@ -20,9 +34,30 @@
# 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 @@
+diff -ur boost.orig/boost/preprocessor/tuple/rem.hpp boost/boost/preprocessor/tuple/rem.hpp
+--- foo/misc/boost.orig/boost/preprocessor/tuple/rem.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/tuple/rem.hpp 2015-07-16 07:59:19.084979971 +0200
+@@ -22,7 +22,7 @@
+ # /* BOOST_PP_REM */
+ #
+ # if BOOST_PP_VARIADICS
+-# if BOOST_PP_VARIADICS_MSVC
++# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
+ /* To be used internally when __VA_ARGS__ could be empty ( or is a single element ) */
+ # define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,)
+ # endif
+@@ -36,8 +36,8 @@
+ /*
+ VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size)
+ */
+-# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
+-# if BOOST_PP_VARIADICS_MSVC
++# if BOOST_PP_VARIADICS && !(defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
++# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
+ /* To be used internally when the size could be 0 ( or 1 ) */
+ # define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT
+ # endif
+@@ -120,7 +120,7 @@
# /* BOOST_PP_TUPLE_REM_CTOR */
#
# if BOOST_PP_VARIADICS
@@ -31,9 +66,22 @@
# 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 @@
+diff -ur boost.orig/boost/preprocessor/tuple/size.hpp boost/boost/preprocessor/tuple/size.hpp
+--- foo/misc/boost.orig/boost/preprocessor/tuple/size.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/tuple/size.hpp 2015-07-16 07:58:30.296980519 +0200
+@@ -18,7 +18,7 @@
+ # include <boost/preprocessor/variadic/size.hpp>
+ #
+ # if BOOST_PP_VARIADICS
+-# if BOOST_PP_VARIADICS_MSVC
++# if defined(BOOST_PP_VARIADICS_MSVC) && BOOST_PP_VARIADICS_MSVC
+ # define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,)
+ # else
+ # define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple
+diff -ur boost.orig/boost/preprocessor/tuple/to_list.hpp boost/boost/preprocessor/tuple/to_list.hpp
+--- foo/misc/boost.orig/boost/preprocessor/tuple/to_list.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/tuple/to_list.hpp 2015-07-16 07:51:25.693985291 +0200
+@@ -24,7 +24,7 @@
# /* BOOST_PP_TUPLE_TO_LIST */
#
# if BOOST_PP_VARIADICS
@@ -42,8 +90,9 @@
# 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
+diff -ur boost.orig/boost/preprocessor/variadic/elem.hpp boost/boost/preprocessor/variadic/elem.hpp
+--- foo/misc/boost.orig/boost/preprocessor/variadic/elem.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/variadic/elem.hpp 2015-07-16 07:54:03.513983517 +0200
@@ -19,7 +19,7 @@
# /* BOOST_PP_VARIADIC_ELEM */
#
@@ -53,8 +102,9 @@
# 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
+diff -ur boost.orig/boost/preprocessor/variadic/size.hpp boost/boost/preprocessor/variadic/size.hpp
+--- foo/misc/boost.orig/boost/preprocessor/variadic/size.hpp 2015-03-28 09:19:20.000000000 +0100
++++ foo/misc/boost/boost/preprocessor/variadic/size.hpp 2015-07-16 07:52:45.303984396 +0200
@@ -19,7 +19,7 @@
# /* BOOST_PP_VARIADIC_SIZE */
#
@@ -64,3 +114,24 @@
# 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 -ur boost.orig/boost/tuple/detail/tuple_basic.hpp boost/boost/tuple/detail/tuple_basic.hpp
+--- foo/misc/boost.orig/boost/tuple/detail/tuple_basic.hpp 2014-05-12 01:27:34.000000000 +0200
++++ foo/misc/boost/boost/tuple/detail/tuple_basic.hpp 2015-07-16 08:00:29.269979182 +0200
+@@ -41,7 +41,7 @@
+
+ #include "boost/detail/workaround.hpp" // needed for BOOST_WORKAROUND
+
+-#if BOOST_GCC >= 40700
++#if defined(BOOST_GCC) && BOOST_GCC >= 40700
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
+ #endif
+@@ -979,7 +979,7 @@
+ } // end of namespace boost
+
+
+-#if BOOST_GCC >= 40700
++#if defined(BOOST_GCC) && BOOST_GCC >= 40700
+ #pragma GCC diagnostic pop
+ #endif
+
diff --git a/external/boost/boost.property_tree.Wshadow.warnings.patch.1 b/external/boost/boost.property_tree.Wshadow.warnings.patch.1
index 65e4caeecc90..64d020bc65e9 100644
--- a/external/boost/boost.property_tree.Wshadow.warnings.patch.1
+++ b/external/boost/boost.property_tree.Wshadow.warnings.patch.1
@@ -1,5 +1,6 @@
---- 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
+diff -ru boost.orig/boost/property_tree/detail/json_parser_error.hpp boost/boost/property_tree/detail/json_parser_error.hpp
+--- boost.orig/boost/property_tree/detail/json_parser_error.hpp 2015-07-07 14:20:48.000000000 +0200
++++ boost/boost/property_tree/detail/json_parser_error.hpp 2015-07-19 11:16:35.699957767 +0200
@@ -20,10 +20,10 @@
class json_parser_error: public file_parser_error
{
@@ -8,92 +9,17 @@
- const std::string &filename,
- unsigned long line):
- file_parser_error(message, filename, line)
-+ json_parser_error(const std::string &message_,
-+ const std::string &filename_,
-+ unsigned long line_):
++ json_parser_error(const std::string &message_,
++ const std::string &filename_,
++ unsigned long line_):
+ file_parser_error(message_, filename_, line_)
{
}
};
---- boost/boost/property_tree/detail/json_parser_read.hpp 2013-05-17 15:57:23.740638395 +0200
-+++ boost/boost/property_tree/detail/json_parser_read.hpp 2013-05-17 15:31:05.666857356 +0200
-@@ -45,7 +45,7 @@
- struct a_object_s
- {
- context &c;
-- a_object_s(context &c): c(c) { }
-+ a_object_s(context &c_): c(c_) { }
- void operator()(Ch) const
- {
- if (c.stack.empty())
-@@ -63,7 +63,7 @@
- struct a_object_e
- {
- context &c;
-- a_object_e(context &c): c(c) { }
-+ a_object_e(context &c_): c(c_) { }
- void operator()(Ch) const
- {
- BOOST_ASSERT(c.stack.size() >= 1);
-@@ -74,7 +74,7 @@
- struct a_name
- {
- context &c;
-- a_name(context &c): c(c) { }
-+ a_name(context &c_): c(c_) { }
- void operator()(It, It) const
- {
- c.name.swap(c.string);
-@@ -85,7 +85,7 @@
- struct a_string_val
- {
- context &c;
-- a_string_val(context &c): c(c) { }
-+ a_string_val(context &c_): c(c_) { }
- void operator()(It, It) const
- {
- BOOST_ASSERT(c.stack.size() >= 1);
-@@ -98,7 +98,7 @@
- struct a_literal_val
- {
- context &c;
-- a_literal_val(context &c): c(c) { }
-+ a_literal_val(context &c_): c(c_) { }
- void operator()(It b, It e) const
- {
- BOOST_ASSERT(c.stack.size() >= 1);
-@@ -111,8 +111,8 @@
- struct a_char
- {
- context &c;
-- a_char(context &c): c(c) { }
-- void operator()(It b, It e) const
-+ a_char(context &c_): c(c_) { }
-+ void operator()(It b, It /* e */) const
- {
- c.string += *b;
- }
-@@ -121,7 +121,7 @@
- struct a_escape
- {
- context &c;
-- a_escape(context &c): c(c) { }
-+ a_escape(context &c_): c(c_) { }
- void operator()(Ch ch) const
- {
- switch (ch)
-@@ -142,7 +142,7 @@
- struct a_unicode
- {
- context &c;
-- a_unicode(context &c): c(c) { }
-+ a_unicode(context &c_): c(c_) { }
- void operator()(unsigned long u) const
- {
- 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
-@@ -539,48 +539,48 @@
+diff -ru boost.orig/boost/property_tree/detail/ptree_implementation.hpp boost/boost/property_tree/detail/ptree_implementation.hpp
+--- boost.orig/boost/property_tree/detail/ptree_implementation.hpp 2015-07-07 14:20:48.000000000 +0200
++++ boost/boost/property_tree/detail/ptree_implementation.hpp 2015-07-18 23:33:04.165906803 +0200
+@@ -568,48 +568,48 @@
template<class K, class D, class C>
basic_ptree<K, D, C> &
@@ -153,7 +79,7 @@
self_type *n = walk_path(p);
if (!n) {
return optional<self_type&>();
-@@ -590,9 +590,9 @@
+@@ -619,9 +619,9 @@
template<class K, class D, class C>
optional<const basic_ptree<K, D, C> &>
@@ -165,7 +91,7 @@
self_type *n = walk_path(p);
if (!n) {
return optional<const self_type&>();
-@@ -602,10 +602,10 @@
+@@ -631,10 +631,10 @@
template<class K, class D, class C>
basic_ptree<K, D, C> &
@@ -178,7 +104,7 @@
self_type &parent = force_path(p);
// Got the parent. Now get the correct child.
key_type fragment = p.reduce();
-@@ -620,10 +620,10 @@
+@@ -649,10 +649,10 @@
template<class K, class D, class C>
basic_ptree<K, D, C> &
@@ -191,7 +117,7 @@
self_type &parent = force_path(p);
// Got the parent.
key_type fragment = p.reduce();
-@@ -709,26 +709,26 @@
+@@ -738,26 +738,26 @@
template<class K, class D, class C>
template<class Type, class Translator> inline
typename boost::enable_if<detail::is_translator<Translator>, Type>::type
@@ -224,7 +150,7 @@
}
template<class K, class D, class C>
-@@ -738,18 +738,18 @@
+@@ -767,18 +767,18 @@
std::basic_string<Ch>
>::type
basic_ptree<K, D, C>::get(
@@ -247,7 +173,7 @@
}
template<class K, class D, class C>
-@@ -759,17 +759,17 @@
+@@ -788,17 +788,17 @@
std::basic_string<Ch>
>::type
basic_ptree<K, D, C>::get(
@@ -269,7 +195,7 @@
return child.get().
BOOST_NESTED_TEMPLATE get_value_optional<Type>(tr);
else
-@@ -778,9 +778,9 @@
+@@ -808,9 +808,9 @@
template<class K, class D, class C>
template<class Type>
optional<Type> basic_ptree<K, D, C>::get_optional(
@@ -281,7 +207,7 @@
return child.get().BOOST_NESTED_TEMPLATE get_value_optional<Type>();
else
return optional<Type>();
-@@ -809,13 +809,13 @@
+@@ -839,13 +839,13 @@
template<class K, class D, class C>
template<class Type, typename Translator>
basic_ptree<K, D, C> & basic_ptree<K, D, C>::put(
@@ -298,7 +224,7 @@
child2.put_value(value, tr);
return child2;
}
-@@ -824,18 +824,18 @@
+@@ -854,18 +854,18 @@
template<class K, class D, class C>
template<class Type> inline
basic_ptree<K, D, C> & basic_ptree<K, D, C>::put(
@@ -321,7 +247,7 @@
child.put_value(value, tr);
return child;
}
-@@ -843,9 +843,9 @@
+@@ -873,9 +873,9 @@
template<class K, class D, class C>
template<class Type> inline
basic_ptree<K, D, C> & basic_ptree<K, D, C>::add(
@@ -333,11 +259,12 @@
typename translator_between<data_type, Type>::type());
}
---- a/boost/property_tree/string_path.hpp
-+++ a/boost/property_tree/string_path.hpp
-@@ -88,14 +88,14 @@ namespace boost { namespace property_tree
+diff -ru boost.orig/boost/property_tree/string_path.hpp boost/boost/property_tree/string_path.hpp
+--- boost.orig/boost/property_tree/string_path.hpp 2015-07-07 14:20:48.000000000 +0200
++++ boost/boost/property_tree/string_path.hpp 2015-07-18 23:33:41.749906380 +0200
+@@ -88,14 +88,14 @@
typedef typename String::value_type char_type;
-
+
/// Create an empty path.
- explicit string_path(char_type separator = char_type('.'));
+ explicit string_path(char_type separator_ = char_type('.'));
@@ -352,25 +279,25 @@
Translator tr = Translator());
/// Create a path by parsing the given string.
/// @param value A zero-terminated array of values. Only use if zero-
-@@ -106,7 +106,7 @@ namespace boost { namespace property_tree
+@@ -106,7 +106,7 @@
/// @param tr The translator used by this path to convert the individual
/// parts to keys.
string_path(const char_type *value,
- char_type separator = char_type('.'),
+ char_type separator_ = char_type('.'),
Translator tr = Translator());
-
+
// Default copying doesn't do the right thing with the iterator
-@@ -162,23 +162,23 @@ namespace boost { namespace property_tree
+@@ -162,23 +162,23 @@
};
-
+
template <typename String, typename Translator> inline
- string_path<String, Translator>::string_path(char_type separator)
- : m_separator(separator), m_start(m_value.begin())
+ string_path<String, Translator>::string_path(char_type separator_)
+ : m_separator(separator_), m_start(m_value.begin())
{}
-
+
template <typename String, typename Translator> inline
string_path<String, Translator>::string_path(const String &value,
- char_type separator,
@@ -380,7 +307,7 @@
+ : m_value(value), m_separator(separator_),
m_tr(tr), m_start(m_value.begin())
{}
-
+
template <typename String, typename Translator> inline
string_path<String, Translator>::string_path(const char_type *value,
- char_type separator,
@@ -390,4 +317,4 @@
+ : m_value(value), m_separator(separator_),
m_tr(tr), m_start(m_value.begin())
{}
-
+
diff --git a/external/boost/boost.property_tree.Wtype-limits.warnings.patch.1 b/external/boost/boost.property_tree.Wtype-limits.warnings.patch.1
deleted file mode 100644
index e4c7ede0e3be..000000000000
--- a/external/boost/boost.property_tree.Wtype-limits.warnings.patch.1
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -ur boost.org/boost/property_tree/detail/json_parser_write.hpp boost/boost/property_tree/detail/json_parser_write.hpp
---- boost.org/boost/property_tree/detail/json_parser_write.hpp 2014-04-20 13:27:59.126224368 +0300
-+++ boost/boost/property_tree/detail/json_parser_write.hpp 2014-04-20 13:32:35.206229552 +0300
-@@ -29,25 +29,26 @@
- typename std::basic_string<Ch>::const_iterator e = s.end();
- while (b != e)
- {
-+ typename std::basic_string<Ch>::traits_type::int_type bDref = *b;
- // This assumes an ASCII superset. But so does everything in PTree.
- // We escape everything outside ASCII, because this code can't
- // handle high unicode characters.
-- if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) ||
-- (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF))
-- result += *b;
-- else if (*b == Ch('\b')) result += Ch('\\'), result += Ch('b');
-- else if (*b == Ch('\f')) result += Ch('\\'), result += Ch('f');
-- else if (*b == Ch('\n')) result += Ch('\\'), result += Ch('n');
-- else if (*b == Ch('\r')) result += Ch('\\'), result += Ch('r');
-- else if (*b == Ch('/')) result += Ch('\\'), result += Ch('/');
-- else if (*b == Ch('"')) result += Ch('\\'), result += Ch('"');
-- else if (*b == Ch('\\')) result += Ch('\\'), result += Ch('\\');
-+ if (bDref == 0x20 || bDref == 0x21 || (bDref >= 0x23 && bDref <= 0x2E) ||
-+ (bDref >= 0x30 && bDref <= 0x5B) || (bDref >= 0x5D && bDref <= 0xFF))
-+ result += bDref;
-+ else if (bDref == Ch('\b')) result += Ch('\\'), result += Ch('b');
-+ else if (bDref == Ch('\f')) result += Ch('\\'), result += Ch('f');
-+ else if (bDref == Ch('\n')) result += Ch('\\'), result += Ch('n');
-+ else if (bDref == Ch('\r')) result += Ch('\\'), result += Ch('r');
-+ else if (bDref == Ch('/')) result += Ch('\\'), result += Ch('/');
-+ else if (bDref == Ch('"')) result += Ch('\\'), result += Ch('"');
-+ else if (bDref == Ch('\\')) result += Ch('\\'), result += Ch('\\');
- else
- {
- const char *hexdigits = "0123456789ABCDEF";
- typedef typename make_unsigned<Ch>::type UCh;
- unsigned long u = (std::min)(static_cast<unsigned long>(
-- static_cast<UCh>(*b)),
-+ static_cast<UCh>(bDref)),
- 0xFFFFul);
- int d1 = u / 4096; u -= d1 * 4096;
- int d2 = u / 256; u -= d2 * 256;
diff --git a/external/boost/boost.random.Wshadow.warnings.patch b/external/boost/boost.random.Wshadow.warnings.patch
deleted file mode 100644
index 17c0f5995fc4..000000000000
--- a/external/boost/boost.random.Wshadow.warnings.patch
+++ /dev/null
@@ -1,277 +0,0 @@
---- misc/boost_1_44_0/boost/random/mersenne_twister.hpp
-+++ misc/build/boost_1_44_0/boost/random/mersenne_twister.hpp
-@@ -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); }
-
- private:
- /// \cond show_private
---- 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
-@@ -249,10 +249,10 @@
- * Returns true if the two generators will produce identical
- * sequences of values.
- */
-- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_engine, x, y)
-+ BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_engine, x_arg, y_arg)
- {
- for(unsigned int j = 0; j < r; ++j)
-- if(x.compute(j) != y.compute(j))
-+ if(x_arg.compute(j) != y_arg.compute(j))
- return false;
- return true;
- }
-@@ -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
-
-@@ -483,10 +483,10 @@
- }
-
- /** Returns true if the two generators will produce identical sequences. */
-- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_01_engine, x, y)
-+ BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_01_engine, x_arg, y_arg)
- {
- for(unsigned int j = 0; j < r; ++j)
-- if(x.compute(j) != y.compute(j))
-+ if(x_arg.compute(j) != y_arg.compute(j))
- return false;
- return true;
- }
-@@ -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;
---- misc/boost_1_44_0/boost/random/lagged_fibonacci.hpp
-+++ misc/build/boost_1_44_0/boost/random/lagged_fibonacci.hpp
-@@ -148,8 +148,8 @@
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, lagged_fibonacci_engine, f)
- {
- os << f.i;
-- for(unsigned int i = 0; i < f.long_lag; ++i)
-- os << ' ' << f.x[i];
-+ for(unsigned int i_index = 0; i_index < f.long_lag; ++i_index)
-+ os << ' ' << f.x[i_index];
- return os;
- }
-
-@@ -159,17 +159,17 @@
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lagged_fibonacci_engine, f)
- {
- is >> f.i >> std::ws;
-- for(unsigned int i = 0; i < f.long_lag; ++i)
-- is >> f.x[i] >> std::ws;
-+ for(unsigned int i_index = 0; i_index < f.long_lag; ++i_index)
-+ is >> f.x[i_index] >> std::ws;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
-- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_engine, x, y)
-- { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }
-+ BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_engine, x_arg, y_arg)
-+ { return x_arg.i == y_arg.i && std::equal(x_arg.x, x_arg.x+long_lag, y_arg.x); }
-
- /**
- * Returns true if the two generators will produce different
-@@ -359,8 +359,8 @@
- using std::pow;
- os << f.i;
- std::ios_base::fmtflags oldflags = os.flags(os.dec | os.fixed | os.left);
-- for(unsigned int i = 0; i < f.long_lag; ++i)
-- os << ' ' << f.x[i] * f.modulus();
-+ for(unsigned int i_index = 0; i_index < f.long_lag; ++i_index)
-+ os << ' ' << f.x[i_index] * f.modulus();
- os.flags(oldflags);
- return os;
- }
-@@ -371,10 +371,10 @@
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lagged_fibonacci_01_engine, f)
- {
- is >> f.i;
-- for(unsigned int i = 0; i < f.long_lag; ++i) {
-+ for(unsigned int i_index = 0; i_index < f.long_lag; ++i_index) {
- typename lagged_fibonacci_01_engine::result_type value;
- is >> std::ws >> value;
-- f.x[i] = value / f.modulus();
-+ f.x[i_index] = value / f.modulus();
- }
- return is;
- }
-@@ -383,8 +383,8 @@
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
-- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_01_engine, x, y)
-- { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }
-+ BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_01_engine, x_arg, y_arg)
-+ { return x_arg.i == y_arg.i && std::equal(x_arg.x, x_arg.x+long_lag, y_arg.x); }
-
- /**
- * Returns true if the two generators will produce different
diff --git a/external/boost/boost.random.Wunused-local-typedefs.warnings.patch b/external/boost/boost.random.Wunused-local-typedefs.warnings.patch
index 7d4874217e56..73f8c0b84d8c 100644
--- a/external/boost/boost.random.Wunused-local-typedefs.warnings.patch
+++ b/external/boost/boost.random.Wunused-local-typedefs.warnings.patch
@@ -1,20 +1,11 @@
---- a/b/boost/boost/random/generate_canonical.hpp 2013-05-31 18:13:09.804149686 +0200
-+++ a/b/boost/boost/random/generate_canonical.hpp 2013-05-31 18:13:30.020195845 +0200
-@@ -55,7 +55,6 @@
- using std::floor;
- BOOST_ASSERT((g.min)() == 0);
- BOOST_ASSERT((g.max)() == 1);
+diff -ru boost.orig/boost/random/generate_canonical.hpp boost/boost/random/generate_canonical.hpp
+--- a/b/boost.orig/boost/random/generate_canonical.hpp 2015-02-27 18:44:45.000000000 +0100
++++ a/b/boost/boost/random/generate_canonical.hpp 2015-07-18 21:55:44.152972440 +0200
+@@ -32,7 +32,6 @@
+ RealType generate_canonical_impl(URNG& g, boost::mpl::true_ /*is_integral*/)
+ {
+ using std::pow;
- typedef typename URNG::result_type base_result;
std::size_t digits = std::numeric_limits<RealType>::digits;
- std::size_t engine_bits = detail::generator_bits<URNG>::value();
- std::size_t b = (std::min)(bits, digits);
---- a/b/boost/boost/random/uniform_real_distribution.hpp 2013-05-31 18:15:04.571429634 +0200
-+++ a/b/boost/boost/random/uniform_real_distribution.hpp 2013-05-31 18:14:28.452337186 +0200
-@@ -36,7 +36,6 @@
- {
- for(;;) {
- typedef T result_type;
-- typedef typename Engine::result_type base_result;
- result_type numerator = static_cast<T>(eng() - (eng.min)());
- result_type divisor = static_cast<T>((eng.max)() - (eng.min)());
- BOOST_ASSERT(divisor > 0);
+ RealType R = RealType((g.max)()) - RealType((g.min)()) + 1;
+ RealType mult = R;
diff --git a/external/boost/boost.spirit.Wunused-local-typedefs.warnings.patch b/external/boost/boost.spirit.Wunused-local-typedefs.warnings.patch
index babe844cea28..55510805a886 100644
--- a/external/boost/boost.spirit.Wunused-local-typedefs.warnings.patch
+++ b/external/boost/boost.spirit.Wunused-local-typedefs.warnings.patch
@@ -1,23 +1,23 @@
---- misc/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
-@@ -307,7 +307,6 @@
+diff -ru boost.orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp boost/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-07-18 21:46:45.774978491 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-07-18 21:59:52.339969650 +0200
+@@ -282,12 +282,12 @@
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
typedef grammar_helper_list<GrammarT> helper_list_t;
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
helper_list_t& helpers =
- # if !defined(__GNUC__) || (__GNUC__ > 2)
-@@ -318,6 +317,7 @@
+ grammartract_helper_list::do_(self);
- # if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
- || defined(BOOST_INTEL_CXX_VERSION)
+ # if defined(BOOST_INTEL_CXX_VERSION)
+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
(*i)->undefine(self);
# else
---- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/primitives.hpp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/primitives.hpp
+diff -ru boost.orig/boost/spirit/home/classic/core/primitives/primitives.hpp boost/boost/spirit/home/classic/core/primitives/primitives.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/primitives/primitives.hpp 2015-07-18 21:46:45.775978491 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/primitives/primitives.hpp 2015-07-18 22:03:35.695967140 +0200
@@ -47,7 +47,6 @@
typename parser_result<self_t, ScannerT>::type
parse(ScannerT const& scan) const
@@ -26,8 +26,9 @@
typedef typename ScannerT::value_t value_t;
typedef typename ScannerT::iterator_t iterator_t;
---- misc/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp
+diff -ru boost.orig/boost/spirit/home/classic/error_handling/exceptions.hpp boost/boost/spirit/home/classic/error_handling/exceptions.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/error_handling/exceptions.hpp 2015-07-18 21:46:45.768978491 +0200
++++ foo/misc/boost/boost/spirit/home/classic/error_handling/exceptions.hpp 2015-07-18 22:00:33.396969189 +0200
@@ -140,7 +140,6 @@
parse(ScannerT const& scan) const
{
@@ -36,14 +37,3 @@
result_t hit = this->subject().parse(scan);
if (!hit)
---- misc/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp
-@@ -49,8 +49,6 @@
- typename parser_result<self_t, ScannerT>::type
- parse(ScannerT const& scan) const
- {
-- typedef typename parser_result<self_t, ScannerT>::type result_t;
-- typedef typename ScannerT::value_t value_t;
- typedef typename ScannerT::iterator_t iterator_t;
-
- iterator_t const s(scan.first);
diff --git a/external/boost/boost.std.move.patch b/external/boost/boost.std.move.patch
index c6cc3298a85f..7c0dfb99ca5a 100644
--- a/external/boost/boost.std.move.patch
+++ b/external/boost/boost.std.move.patch
@@ -1,15 +1,16 @@
---- foo/foo/foo/boost/config/compiler/clang.hpp
-+++ foo/foo/foo/boost/config/compiler/clang.hpp
+diff -ru boost.orig/boost/config/compiler/clang.hpp boost/boost/config/compiler/clang.hpp
+--- foo/misc/boost.orig/boost/config/compiler/clang.hpp 2015-05-07 19:11:52.000000000 +0200
++++ foo/misc/boost/boost/config/compiler/clang.hpp 2015-07-18 22:40:56.304941957 +0200
@@ -10,6 +10,8 @@
#define BOOST_HAS_PRAGMA_ONCE
+#include <utility>
+
- #if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
- # define BOOST_NO_EXCEPTIONS
- #endif
-@@ -128,7 +130,7 @@
+ // Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
+ #if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
+ # define BOOST_HAS_PRAGMA_DETECT_MISMATCH
+@@ -161,7 +163,7 @@
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#endif
diff --git a/external/boost/boost.transform_width.patch b/external/boost/boost.transform_width.patch
deleted file mode 100644
index 747a17db13de..000000000000
--- a/external/boost/boost.transform_width.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- foo/foo/foo/boost/archive/iterators/transform_width.hpp
-+++ foo/foo/foo/boost/archive/iterators/transform_width.hpp
-@@ -23,6 +23,8 @@
- // stream length is some common multiple of x and y. E.G. Base64 6 bit
- // character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters
- // or 3 8 bit characters
-+
-+#include <algorithm>
-
- #include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME & PTFO
- #include <boost/serialization/pfto.hpp>
diff --git a/external/boost/boost.tuple.Wunused-local-typedefs.warnings.patch b/external/boost/boost.tuple.Wunused-local-typedefs.warnings.patch
deleted file mode 100644
index dd05a1f83d98..000000000000
--- a/external/boost/boost.tuple.Wunused-local-typedefs.warnings.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/b/boost/boost/tuple/detail/tuple_basic.hpp 2013-05-31 13:31:21.682966336 +0200
-+++ a/b/boost/boost/tuple/detail/tuple_basic.hpp 2013-05-31 13:32:44.067231648 +0200
-@@ -225,7 +225,6 @@
- get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<cons<HT, TT> > impl;
-- typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
- return impl::call(c).head;
- }
-
diff --git a/external/boost/boost.unordered.Wshadow.warnings.patch b/external/boost/boost.unordered.Wshadow.warnings.patch
deleted file mode 100644
index ca93da7b542b..000000000000
--- a/external/boost/boost.unordered.Wshadow.warnings.patch
+++ /dev/null
@@ -1,146 +0,0 @@
---- 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/external/boost/boost.uuid.Wshadow.warnings.patch b/external/boost/boost.uuid.Wshadow.warnings.patch
deleted file mode 100644
index b9296dc96ce1..000000000000
--- a/external/boost/boost.uuid.Wshadow.warnings.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- 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 @@
- }
-
- if (flags & std::ios_base::left) {
-- for (std::streamsize i=uuid_width; i<width; i++) {
-+ for (std::streamsize s=uuid_width; s<width; ++s) {
- os << fill;
- }
- }
---- misc/boost_1_44_0/boost/uuid/name_generator.hpp
-+++ misc/build/boost_1_44_0/boost/uuid/name_generator.hpp
-@@ -30,8 +30,8 @@
- public:
- typedef uuid result_type;
-
-- explicit name_generator(uuid const& namespace_uuid)
-- : namespace_uuid(namespace_uuid)
-+ explicit name_generator(uuid const& namespace_uuid_)
-+ : namespace_uuid(namespace_uuid_)
- {}
-
- uuid operator()(const char* name) {
diff --git a/external/boost/boost.vc2012.patch b/external/boost/boost.vc2012.patch
deleted file mode 100644
index ac206997dbbb..000000000000
--- a/external/boost/boost.vc2012.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- misc/build/boost_1_44_0/boost/config/compiler/visualc.hpp
-+++ misc/build/boost_1_44_0/boost/config/compiler/visualc.hpp
-@@ -101,6 +101,11 @@
- # define BOOST_NO_ADL_BARRIER
- #endif
-
-+#if _MSC_VER >= 1700 // 1700 == VC++ 11.0
-+ // Removed in VC11:
-+# define BOOST_NO_0X_HDR_INITIALIZER_LIST
-+#endif
-+
-
- #if (_MSC_VER <= 1600)
- // MSVC (including the latest checked version) has not yet completely
-@@ -269,8 +269,8 @@
- #error "Compiler not supported or configured - please reconfigure"
- #endif
- //
--// last known and checked version is 1600 (VC10, aka 2010):
--#if (_MSC_VER > 1600)
-+// last known and checked version is 1700 (VC12, aka 2012):
-+#if (_MSC_VER > 1700)
- # if defined(BOOST_ASSERT_CONFIG)
- # error "Unknown compiler version - please run the configure tests and report the results"
- # else
diff --git a/external/boost/boost.wdeprecated-auto_ptr.patch.0 b/external/boost/boost.wdeprecated-auto_ptr.patch.0
index b92d773c0022..860840dd061f 100644
--- a/external/boost/boost.wdeprecated-auto_ptr.patch.0
+++ b/external/boost/boost.wdeprecated-auto_ptr.patch.0
@@ -1,5 +1,6 @@
---- boost/ptr_container/ptr_map.hpp
-+++ boost/ptr_container/ptr_map.hpp
+diff -ru boost.orig/boost/ptr_container/ptr_map_adapter.hpp boost/boost/ptr_container/ptr_map_adapter.hpp
+--- boost/ptr_container/ptr_map_adapter.hpp 2015-07-18 22:42:11.723941110 +0200
++++ boost/ptr_container/ptr_map_adapter.hpp 2015-07-18 22:45:56.525938583 +0200
@@ -16,6 +16,11 @@
# pragma once
#endif
@@ -9,20 +10,21 @@
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
- #include <map>
- #include <boost/ptr_container/ptr_map_adapter.hpp>
-
-@@ -162,4 +168,8 @@
-
- }
+ #include <boost/ptr_container/detail/map_iterator.hpp>
+ #include <boost/ptr_container/detail/associative_ptr_container.hpp>
+ #include <boost/ptr_container/detail/meta_functions.hpp>
+@@ -872,4 +877,8 @@
+
+ } // namespace 'boost'
+#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406) || defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+
#endif
---- boost/ptr_container/ptr_map_adapter.hpp
-+++ boost/ptr_container/ptr_map_adapter.hpp
+diff -ru boost.orig/boost/ptr_container/ptr_map.hpp boost/boost/ptr_container/ptr_map.hpp
+--- boost/ptr_container/ptr_map.hpp 2015-01-25 20:27:11.000000000 +0100
++++ boost/ptr_container/ptr_map.hpp 2015-07-18 22:44:51.669939312 +0200
@@ -16,6 +16,11 @@
# pragma once
#endif
@@ -32,21 +34,22 @@
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
- #include <boost/ptr_container/detail/map_iterator.hpp>
- #include <boost/ptr_container/detail/associative_ptr_container.hpp>
- #include <boost/ptr_container/detail/meta_functions.hpp>
-@@ -876,4 +876,8 @@
-
- } // namespace 'boost'
+ #include <map>
+ #include <boost/ptr_container/ptr_map_adapter.hpp>
+
+@@ -162,4 +167,8 @@
+
+ }
+#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406) || defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+
#endif
---- boost/ptr_container/ptr_set_adapter.hpp
-+++ boost/ptr_container/ptr_set_adapter.hpp
-@@ -16,6 +16,11 @@
+diff -ru boost.orig/boost/ptr_container/ptr_sequence_adapter.hpp boost/boost/ptr_container/ptr_sequence_adapter.hpp
+--- boost/ptr_container/ptr_sequence_adapter.hpp 2015-07-18 22:42:11.734941110 +0200
++++ boost/boost/ptr_container/ptr_sequence_adapter.hpp 2015-07-18 22:47:28.662937548 +0200
+@@ -16,6 +16,10 @@
# pragma once
#endif
@@ -54,11 +57,10 @@
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
-+
- #include <boost/ptr_container/detail/associative_ptr_container.hpp>
- #include <boost/ptr_container/detail/meta_functions.hpp>
- #include <boost/ptr_container/detail/void_ptr_iterator.hpp>
-@@ -693,4 +693,8 @@
+
+ #include <boost/ptr_container/detail/reversible_ptr_container.hpp>
+ #include <boost/ptr_container/indirect_fun.hpp>
+@@ -773,4 +777,8 @@
} // namespace 'boost'
@@ -67,9 +69,10 @@
+#endif
+
#endif
---- boost/ptr_container/ptr_sequence_adapter.hpp
-+++ boost/ptr_container/ptr_sequence_adapter.hpp
-@@ -16,6 +16,10 @@
+diff -ru boost.orig/boost/ptr_container/ptr_set_adapter.hpp boost/boost/ptr_container/ptr_set_adapter.hpp
+--- boost/ptr_container/ptr_set_adapter.hpp 2015-01-25 20:27:11.000000000 +0100
++++ boost/ptr_container/ptr_set_adapter.hpp 2015-07-18 22:46:40.378938090 +0200
+@@ -16,6 +16,11 @@
# pragma once
#endif
@@ -77,10 +80,11 @@
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
-
- #include <boost/ptr_container/detail/reversible_ptr_container.hpp>
- #include <boost/ptr_container/indirect_fun.hpp>
-@@ -773,4 +777,8 @@
++
+ #include <boost/ptr_container/detail/associative_ptr_container.hpp>
+ #include <boost/ptr_container/detail/meta_functions.hpp>
+ #include <boost/ptr_container/detail/void_ptr_iterator.hpp>
+@@ -689,4 +694,8 @@
} // namespace 'boost'
@@ -89,8 +93,9 @@
+#endif
+
#endif
---- boost/ptr_container/ptr_vector.hpp
-+++ boost/ptr_container/ptr_vector.hpp
+diff -ru boost.orig/boost/ptr_container/ptr_vector.hpp boost/boost/ptr_container/ptr_vector.hpp
+--- boost/ptr_container/ptr_vector.hpp 2015-01-25 20:27:11.000000000 +0100
++++ boost/ptr_container/ptr_vector.hpp 2015-07-18 22:48:11.431937067 +0200
@@ -16,6 +16,11 @@
# pragma once
#endif
@@ -103,7 +108,7 @@
#include <vector>
#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-@@ -74,4 +80,8 @@
+@@ -74,4 +79,8 @@
}
@@ -112,8 +117,9 @@
+#endif
+
#endif
---- boost/smart_ptr/detail/shared_count.hpp
-+++ boost/smart_ptr/detail/shared_count.hpp
+diff -ru boost.orig/boost/smart_ptr/detail/shared_count.hpp boost/boost/smart_ptr/detail/shared_count.hpp
+--- boost/smart_ptr/detail/shared_count.hpp 2015-06-06 00:40:42.000000000 +0200
++++ boost/smart_ptr/detail/shared_count.hpp 2015-07-18 22:49:13.985936364 +0200
@@ -18,6 +18,11 @@
// http://www.boost.org/LICENSE_1_0.txt)
//
@@ -126,7 +132,7 @@
#ifdef __BORLANDC__
# pragma warn -8027 // Functions containing try are not expanded inline
#endif
-@@ -604,4 +604,8 @@
+@@ -696,4 +701,8 @@
# pragma warn .8027 // Functions containing try are not expanded inline
#endif
@@ -135,8 +141,9 @@
+#endif
+
#endif // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
---- boost/smart_ptr/scoped_ptr.hpp
-+++ boost/smart_ptr/scoped_ptr.hpp
+diff -ru boost.orig/boost/smart_ptr/scoped_ptr.hpp boost/boost/smart_ptr/scoped_ptr.hpp
+--- boost/smart_ptr/scoped_ptr.hpp 2015-06-06 00:40:42.000000000 +0200
++++ boost/smart_ptr/scoped_ptr.hpp 2015-07-18 22:50:07.597935761 +0200
@@ -11,6 +11,11 @@
// http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
//
@@ -149,7 +156,7 @@
#include <boost/config.hpp>
#include <boost/assert.hpp>
#include <boost/checked_delete.hpp>
-@@ -158,4 +158,8 @@
+@@ -154,4 +159,8 @@
} // namespace boost
@@ -158,8 +165,9 @@
+#endif
+
#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
---- boost/smart_ptr/shared_ptr.hpp
-+++ boost/smart_ptr/shared_ptr.hpp
+diff -ru boost.orig/boost/smart_ptr/shared_ptr.hpp boost/boost/smart_ptr/shared_ptr.hpp
+--- boost/smart_ptr/shared_ptr.hpp 2015-06-06 00:40:42.000000000 +0200
++++ boost/smart_ptr/shared_ptr.hpp 2015-07-18 22:50:59.615935177 +0200
@@ -14,6 +14,11 @@
// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
//
@@ -171,10 +179,10 @@
+
#include <boost/config.hpp> // for broken compiler workarounds
- #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-@@ -1036,4 +1036,8 @@
+ // In order to avoid circular dependencies with Boost.TR1
+@@ -1064,4 +1069,8 @@
- #endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+ } // namespace boost
+#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406) || defined(__clang__)
+# pragma GCC diagnostic pop
diff --git a/external/boost/boost.windows.patch b/external/boost/boost.windows.patch
deleted file mode 100644
index befc805d5753..000000000000
--- a/external/boost/boost.windows.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- misc/build/boost_1_44_0/boost/pool/detail/mutex.hpp
-+++ misc/build/boost_1_44_0/boost/pool/detail/mutex.hpp
-@@ -45,7 +45,9 @@
-
- #ifndef BOOST_NO_MT
- # ifdef BOOST_WINDOWS
-+# define NOMINMAX
- # include <windows.h>
-+# undef NOMINMAX
- # endif
- # if defined(_POSIX_THREADS) || defined(BOOST_HAS_PTHREADS)
- # include <pthread.h>
diff --git a/external/boost/boost_1_44_0-unused-parameters.patch b/external/boost/boost_1_44_0-unused-parameters.patch
index 4fe61bac6959..d3341bfee128 100644
--- a/external/boost/boost_1_44_0-unused-parameters.patch
+++ b/external/boost/boost_1_44_0-unused-parameters.patch
@@ -1,6 +1,7 @@
---- misc/boost_1_44_0/boost/bind/bind.hpp 2009-11-30 21:30:22.000000000 +0100
-+++ misc/build/boost_1_44_0/boost/bind/bind.hpp 2012-01-20 12:44:07.111316403 +0100
-@@ -143,7 +143,7 @@
+diff -ru boost.orig/boost/bind/bind.hpp boost/boost/bind/bind.hpp
+--- foo/misc/boost.orig/boost/bind/bind.hpp 2015-05-04 00:08:08.000000000 +0200
++++ foo/misc/boost/boost/bind/bind.hpp 2015-07-16 22:47:55.972950054 +0200
+@@ -145,7 +145,7 @@
template<class F> struct unwrapper
{
@@ -9,7 +10,7 @@
{
return f;
}
-@@ -226,7 +226,7 @@
+@@ -228,7 +228,7 @@
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
@@ -18,7 +19,7 @@
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
-@@ -238,22 +238,22 @@
+@@ -240,22 +240,22 @@
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
@@ -45,9 +46,14 @@
{
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
}
-@@ -285,8 +285,8 @@
- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+@@ -284,11 +284,11 @@
+
+ list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
@@ -56,7 +62,7 @@
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-@@ -298,22 +298,22 @@
+@@ -300,42 +300,42 @@
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
@@ -83,7 +89,52 @@
{
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
}
-@@ -377,7 +377,7 @@
+
+- template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )
++ template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, __attribute__ ((unused)) int )
+ {
+ return a[ base_type::a1_ ] && a[ base_type::a2_ ];
+ }
+
+- template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const
++ template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, __attribute__ ((unused)) int ) const
+ {
+ return a[ base_type::a1_ ] && a[ base_type::a2_ ];
+ }
+
+- template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )
++ template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, __attribute__ ((unused)) int )
+ {
+ return a[ base_type::a1_ ] || a[ base_type::a2_ ];
+ }
+
+- template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const
++ template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, __attribute__ ((unused)) int ) const
+ {
+ return a[ base_type::a1_ ] || a[ base_type::a2_ ];
+ }
+@@ -361,13 +361,13 @@
+
+ list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+-
+- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
+
+ template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
+
+@@ -379,22 +379,22 @@
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
@@ -92,7 +143,10 @@
{
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
}
-@@ -387,12 +387,12 @@
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
}
@@ -107,14 +161,24 @@
{
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
}
-@@ -427,10 +427,10 @@
- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+@@ -424,15 +424,15 @@
+
+ list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+-
- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
- A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++
+ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
+ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
+ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
@@ -122,7 +186,7 @@
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-@@ -442,7 +442,7 @@
+@@ -444,22 +444,22 @@
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
@@ -131,7 +195,10 @@
{
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
}
-@@ -452,7 +452,7 @@
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
}
@@ -140,7 +207,30 @@
{
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
}
-@@ -510,7 +510,7 @@
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
+ }
+@@ -490,11 +490,11 @@
+
+ list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5>) const { return base_type::a5_; }
+
+ A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+ A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+@@ -512,12 +512,12 @@
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
@@ -149,26 +239,285 @@
{
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
}
-@@ -520,7 +520,7 @@
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
}
+@@ -527,7 +527,7 @@
+ unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
+ }
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
+ }
+@@ -559,19 +559,19 @@
+
+ list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
+-
+- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5>) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6>) const { return base_type::a6_; }
++
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4> (*) ()) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5> (*) ()) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6> (*) ()) const { return base_type::a6_; }
+
+ template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
+
+@@ -583,12 +583,12 @@
+
+ template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
+
+- template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
++ template<class R, class F, class A> R operator()(type<R>, F & f, A & a, __attribute__ ((unused)) long)
+ {
+ return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+ }
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
+ return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+ }
+@@ -598,7 +598,7 @@
+ unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+ }
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+ }
+@@ -631,21 +631,21 @@
+
+ list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
+-
+- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5>) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6>) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7>) const { return base_type::a7_; }
++
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4> (*) ()) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5> (*) ()) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6> (*) ()) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7> (*) ()) const { return base_type::a7_; }
+
+ template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
+
+@@ -657,22 +657,22 @@
+
+ template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
+
+- template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
++ template<class R, class F, class A> R operator()(type<R>, F & f, A & a, __attribute__ ((unused)) long)
+ {
+ return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
+ }
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
+ return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
+ }
- template<class F, class A> void operator()(type<void>, F & f, A & a, int)
+ template<class F, class A> void operator()(type<void>, F & f, A & a, __attribute__ ((unused)) int)
{
- unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
+ unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
}
-@@ -591,7 +591,7 @@
- return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
+ }
+@@ -706,23 +706,23 @@
+
+ list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
+- A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
+-
+- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
+- A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5>) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6>) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7>) const { return base_type::a7_; }
++ A8 operator[] (__attribute__ ((unused)) boost::arg<8>) const { return base_type::a8_; }
++
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4> (*) ()) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5> (*) ()) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6> (*) ()) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7> (*) ()) const { return base_type::a7_; }
++ A8 operator[] (__attribute__ ((unused)) boost::arg<8> (*) ()) const { return base_type::a8_; }
+
+ template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
+
+@@ -734,22 +734,22 @@
+
+ template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
+
+- template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
++ template<class R, class F, class A> R operator()(type<R>, F & f, A & a, __attribute__ ((unused)) long)
+ {
+ return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
+ }
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
+ return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
}
- template<class F, class A> void operator()(type<void>, F & f, A & a, int)
+ template<class F, class A> void operator()(type<void>, F & f, A & a, __attribute__ ((unused)) int)
{
- unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
+ unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
+ }
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
+ }
+@@ -784,25 +784,25 @@
+
+ list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}
+
+- A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
+- A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
+- A9 operator[] (boost::arg<9>) const { return base_type::a9_; }
+-
+- A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
+- A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
+- A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
+- A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
+- A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
+- A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
+- A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
+- A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
+- A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1>) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2>) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3>) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4>) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5>) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6>) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7>) const { return base_type::a7_; }
++ A8 operator[] (__attribute__ ((unused)) boost::arg<8>) const { return base_type::a8_; }
++ A9 operator[] (__attribute__ ((unused)) boost::arg<9>) const { return base_type::a9_; }
++
++ A1 operator[] (__attribute__ ((unused)) boost::arg<1> (*) ()) const { return base_type::a1_; }
++ A2 operator[] (__attribute__ ((unused)) boost::arg<2> (*) ()) const { return base_type::a2_; }
++ A3 operator[] (__attribute__ ((unused)) boost::arg<3> (*) ()) const { return base_type::a3_; }
++ A4 operator[] (__attribute__ ((unused)) boost::arg<4> (*) ()) const { return base_type::a4_; }
++ A5 operator[] (__attribute__ ((unused)) boost::arg<5> (*) ()) const { return base_type::a5_; }
++ A6 operator[] (__attribute__ ((unused)) boost::arg<6> (*) ()) const { return base_type::a6_; }
++ A7 operator[] (__attribute__ ((unused)) boost::arg<7> (*) ()) const { return base_type::a7_; }
++ A8 operator[] (__attribute__ ((unused)) boost::arg<8> (*) ()) const { return base_type::a8_; }
++ A9 operator[] (__attribute__ ((unused)) boost::arg<9> (*) ()) const { return base_type::a9_; }
+
+ template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
+
+@@ -814,22 +814,22 @@
+
+ template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
+
+- template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
++ template<class R, class F, class A> R operator()(type<R>, F & f, A & a, __attribute__ ((unused)) long)
+ {
+ return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
+ }
+
+- template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
++ template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, __attribute__ ((unused)) long) const
+ {
+ return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
}
---- misc/boost_1_44_0/boost/bind/mem_fn.hpp 2009-03-02 17:15:40.000000000 +0100
-+++ misc/build/boost_1_44_0/boost/bind/mem_fn.hpp 2012-01-20 12:44:07.112316398 +0100
+
+- template<class F, class A> void operator()(type<void>, F & f, A & a, int)
++ template<class F, class A> void operator()(type<void>, F & f, A & a, __attribute__ ((unused)) int)
+ {
+ unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
+ }
+
+- template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
++ template<class F, class A> void operator()(type<void>, F const & f, A & a, __attribute__ ((unused)) int) const
+ {
+ unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
+ }
+diff -ru boost.orig/boost/bind/mem_fn.hpp boost/boost/bind/mem_fn.hpp
+--- foo/misc/boost.orig/boost/bind/mem_fn.hpp 2015-05-04 00:08:08.000000000 +0200
++++ foo/misc/boost/boost/bind/mem_fn.hpp 2015-07-16 21:54:24.695986146 +0200
@@ -328,7 +328,7 @@
return (u.*f_);
}
@@ -178,8 +527,9 @@
{
return (get_pointer(u)->*f_);
}
---- misc/boost_1_44_0/boost/bind/mem_fn_template.hpp 2009-12-03 18:44:37.000000000 +0100
-+++ misc/build/boost_1_44_0/boost/bind/mem_fn_template.hpp 2012-01-20 12:44:07.112316398 +0100
+diff -ru boost.orig/boost/bind/mem_fn_template.hpp boost/boost/bind/mem_fn_template.hpp
+--- foo/misc/boost.orig/boost/bind/mem_fn_template.hpp 2015-05-04 00:08:08.000000000 +0200
++++ foo/misc/boost/boost/bind/mem_fn_template.hpp 2015-07-16 21:58:25.008983445 +0200
@@ -35,7 +35,7 @@
BOOST_MEM_FN_RETURN (u.*f_)();
}
@@ -231,15 +581,6 @@
{
BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
}
-@@ -330,7 +330,7 @@
- BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
- }
-
-- template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
-+ template<class U, class B1, class B2> R call(U & u, __attribute__ ((unused)) void const *, B1 & b1, B2 & b2) const
- {
- BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
- }
@@ -379,7 +379,7 @@
BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
}
@@ -267,9 +608,10 @@
{
BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
}
---- misc/boost_1_44_0/boost/detail/dynamic_bitset.hpp 2008-10-21 20:13:59.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/detail/dynamic_bitset.hpp 2012-01-20 12:44:07.113316394 +0100
-@@ -100,8 +100,8 @@
+diff -ru boost.orig/boost/detail/dynamic_bitset.hpp boost/boost/detail/dynamic_bitset.hpp
+--- foo/misc/boost.orig/boost/detail/dynamic_bitset.hpp 2015-06-04 07:43:44.000000000 +0200
++++ foo/misc/boost/boost/detail/dynamic_bitset.hpp 2015-07-16 21:59:20.786982818 +0200
+@@ -104,8 +104,8 @@
template <typename Iterator>
inline std::size_t do_count(Iterator first, std::size_t length,
@@ -280,9 +622,10 @@
{
std::size_t num = 0;
if (length)
---- misc/boost_1_44_0/boost/foreach.hpp 2010-07-30 22:26:40.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/foreach.hpp 2012-01-20 12:44:07.114316390 +0100
-@@ -610,7 +610,7 @@
+diff -ru boost.orig/boost/foreach.hpp boost/boost/foreach.hpp
+--- foo/misc/boost.orig/boost/foreach.hpp 2015-03-04 21:36:38.000000000 +0100
++++ foo/misc/boost/boost/foreach.hpp 2015-07-16 22:01:53.617981100 +0200
+@@ -633,7 +633,7 @@
}
template<typename T>
@@ -291,7 +634,7 @@
{
// Cannot seem to get sunpro to handle addressof() with array types.
#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570))
-@@ -641,7 +641,7 @@
+@@ -665,7 +665,7 @@
template<typename T, typename C>
inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
@@ -300,25 +643,7 @@
{
typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
-@@ -678,7 +678,7 @@
-
- template<typename T, typename C>
- inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
--end(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
-+end(auto_any_t col, __attribute__ ((unused)) type2type<T, C> *, __attribute__ ((unused)) boost::mpl::false_ *) // lvalue
- {
- typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
- typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
-@@ -707,7 +707,7 @@
- // done
- //
- template<typename T, typename C>
--inline bool done(auto_any_t cur, auto_any_t end, type2type<T, C> *)
-+inline bool done(auto_any_t cur, auto_any_t end, __attribute__ ((unused)) type2type<T, C> *)
- {
- typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
- return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
-@@ -725,7 +725,7 @@
+@@ -754,7 +754,7 @@
// next
//
template<typename T, typename C>
@@ -327,7 +652,7 @@
{
typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
++auto_any_cast<iter_t, boost::mpl::false_>(cur);
-@@ -736,7 +736,7 @@
+@@ -765,7 +765,7 @@
//
template<typename T, typename C>
inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type
@@ -336,9 +661,19 @@
{
typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
---- misc/boost_1_44_0/boost/function/function_template.hpp 2009-07-09 01:23:52.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/function/function_template.hpp 2012-01-20 15:29:25.217770399 +0100
-@@ -711,7 +711,7 @@
+@@ -784,7 +784,7 @@
+
+ template<typename T, typename C>
+ inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>
+-rbegin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
++rbegin(auto_any_t col, __attribute__ ((unused)) type2type<T, C> *, __attribute__ ((unused)) boost::mpl::false_ *) // lvalue
+ {
+ typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
+ typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iterator;
+diff -ru boost.orig/boost/function/function_template.hpp boost/boost/function/function_template.hpp
+--- foo/misc/boost.orig/boost/function/function_template.hpp 2015-01-18 18:32:44.000000000 +0100
++++ foo/misc/boost/boost/function/function_template.hpp 2015-07-16 22:03:43.157979869 +0200
+@@ -717,7 +717,7 @@
template<typename Functor>
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
#ifndef BOOST_NO_SFINAE
@@ -347,7 +682,7 @@
(boost::type_traits::ice_not<
(is_integral<Functor>::value)>::value),
int>::type = 0
-@@ -724,7 +724,7 @@
+@@ -730,7 +730,7 @@
template<typename Functor,typename Allocator>
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
#ifndef BOOST_NO_SFINAE
@@ -356,7 +691,7 @@
(boost::type_traits::ice_not<
(is_integral<Functor>::value)>::value),
int>::type = 0
-@@ -1055,7 +1055,7 @@
+@@ -1068,7 +1068,7 @@
template<typename Functor>
function(Functor f
#ifndef BOOST_NO_SFINAE
@@ -365,7 +700,7 @@
(boost::type_traits::ice_not<
(is_integral<Functor>::value)>::value),
int>::type = 0
-@@ -1067,7 +1067,7 @@
+@@ -1080,7 +1080,7 @@
template<typename Functor,typename Allocator>
function(Functor f, Allocator a
#ifndef BOOST_NO_SFINAE
@@ -374,8 +709,9 @@
(boost::type_traits::ice_not<
(is_integral<Functor>::value)>::value),
int>::type = 0
---- misc/boost_1_44_0/boost/iterator/reverse_iterator.hpp 2004-08-12 19:13:07.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/iterator/reverse_iterator.hpp 2012-01-20 12:44:07.122316355 +0100
+diff -ru boost.orig/boost/iterator/reverse_iterator.hpp boost/boost/iterator/reverse_iterator.hpp
+--- foo/misc/boost.orig/boost/iterator/reverse_iterator.hpp 2014-09-06 19:18:28.000000000 +0200
++++ foo/misc/boost/boost/iterator/reverse_iterator.hpp 2015-07-16 22:04:18.012979478 +0200
@@ -34,7 +34,7 @@
template<class OtherIterator>
reverse_iterator(
@@ -385,9 +721,10 @@
)
: super_t(r.base())
{}
---- misc/boost_1_44_0/boost/optional/optional.hpp 2012-01-20 15:24:32.364576113 +0100
-+++ misc/build/boost_1_44_0/boost/optional/optional.hpp 2012-01-20 12:44:07.123316351 +0100
-@@ -365,7 +365,7 @@
+diff -ru boost.orig/boost/optional/optional.hpp boost/boost/optional/optional.hpp
+--- foo/misc/boost.orig/boost/optional/optional.hpp 2015-07-09 00:01:02.000000000 +0200
++++ foo/misc/boost/boost/optional/optional.hpp 2015-07-16 22:06:21.657978088 +0200
+@@ -634,7 +634,7 @@
// Converting constructions of optional<T> from optional<U> uses this function with
// 'Expr' being of type 'U' and relying on a converting constructor of T from U.
template<class Expr>
@@ -396,7 +733,7 @@
{
new (m_storage.address()) internal_type(expr) ;
m_initialized = true ;
-@@ -376,7 +376,7 @@
+@@ -645,7 +645,7 @@
// Converting assignments of optional<T> from optional<U> uses this function with
// 'Expr' being of type 'U' and relying on a converting assignment of T from U.
template<class Expr>
@@ -405,13 +742,13 @@
{
assign_value(expr, is_reference_predicate());
}
-@@ -846,12 +846,12 @@
+@@ -1424,17 +1424,17 @@
template<class T>
inline
--bool operator == ( none_t , optional<T> const& y )
-+bool operator == ( __attribute__ ((unused)) none_t , optional<T> const& y )
- { return equal_pointees(optional<T>() ,y); }
+-bool operator == ( none_t , optional<T> const& y ) BOOST_NOEXCEPT
++bool operator == ( __attribute__ ((unused)) none_t , optional<T> const& y ) BOOST_NOEXCEPT
+ { return !y; }
template<class T>
inline
@@ -420,8 +757,39 @@
{ return less_pointees(optional<T>() ,y); }
template<class T>
---- misc/boost_1_44_0/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp 2012-01-20 12:44:07.124316347 +0100
+ inline
+-bool operator != ( none_t, optional<T> const& y ) BOOST_NOEXCEPT
++bool operator != ( __attribute__ ((unused)) none_t, optional<T> const& y ) BOOST_NOEXCEPT
+ { return bool(y); }
+
+ template<class T>
+diff -ru boost.orig/boost/ptr_container/detail/default_deleter.hpp boost/boost/ptr_container/detail/default_deleter.hpp
+--- foo/misc/boost.orig/boost/ptr_container/detail/default_deleter.hpp 2015-01-25 20:27:11.000000000 +0100
++++ foo/misc/boost/boost/ptr_container/detail/default_deleter.hpp 2015-07-16 22:45:54.427951420 +0200
+@@ -61,7 +61,7 @@
+ {
+ default_deleter() { }
+ template<typename TT>
+- default_deleter(default_deleter<TT> tt) { }
++ default_deleter(__attribute__ ((unused)) default_deleter<TT> tt) { }
+ };
+
+ } } } // End namespaces ptr_container_detail, move_ptrs, boost.
+diff -ru boost.orig/boost/ptr_container/ptr_sequence_adapter.hpp boost/boost/ptr_container/ptr_sequence_adapter.hpp
+--- foo/misc/boost.orig/boost/ptr_container/ptr_sequence_adapter.hpp 2015-07-16 08:47:41.786947347 +0200
++++ foo/misc/boost/boost/ptr_container/ptr_sequence_adapter.hpp 2015-07-16 22:46:28.137951041 +0200
+@@ -664,7 +664,7 @@
+
+ }
+
+- void range_check_impl( iterator first, iterator last,
++ void range_check_impl( __attribute__ ((unused)) iterator first, __attribute__ ((unused)) iterator last,
+ std::bidirectional_iterator_tag )
+ { /* do nothing */ }
+
+diff -ru boost.orig/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp boost/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/actor/ref_const_ref_actor.hpp 2015-07-16 22:07:32.910977287 +0200
@@ -63,8 +63,8 @@
template<typename IteratorT>
@@ -433,25 +801,9 @@
) const
{
this->act(ref,value_ref); // defined in ActionT
---- misc/boost_1_44_0/boost/spirit/home/classic/core/composite/no_actions.hpp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/composite/no_actions.hpp
-@@ -38,10 +38,10 @@
- template<typename ActorT, typename AttrT, typename IteratorT>
- void
- do_action(
-- ActorT const& actor,
-- AttrT& val,
-- IteratorT const& first,
-- IteratorT const& last) const
-+ __attribute__ ((unused)) ActorT const& actor,
-+ __attribute__ ((unused)) AttrT& val,
-+ __attribute__ ((unused)) IteratorT const& first,
-+ __attribute__ ((unused)) IteratorT const& last) const
- {}
- };
-
---- misc/boost_1_44_0/boost/spirit/home/classic/core/composite/impl/directives.ipp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/composite/impl/directives.ipp 2012-01-20 12:44:07.124316347 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/composite/impl/directives.ipp boost/boost/spirit/home/classic/core/composite/impl/directives.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/composite/impl/directives.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/composite/impl/directives.ipp 2015-07-16 22:12:36.614973874 +0200
@@ -41,7 +41,7 @@
contiguous_parser_parse(
ST const& s,
@@ -488,9 +840,28 @@
{
typedef scanner_policies<
inhibit_case_iteration_policy<
---- misc/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
-@@ -83,7 +83,7 @@
+diff -ru boost.orig/boost/spirit/home/classic/core/composite/no_actions.hpp boost/boost/spirit/home/classic/core/composite/no_actions.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/composite/no_actions.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/composite/no_actions.hpp 2015-07-16 22:08:22.699976727 +0200
+@@ -38,10 +38,10 @@
+ template<typename ActorT, typename AttrT, typename IteratorT>
+ void
+ do_action(
+- ActorT const& actor,
+- AttrT& val,
+- IteratorT const& first,
+- IteratorT const& last) const
++ __attribute__ ((unused)) ActorT const& actor,
++ __attribute__ ((unused)) AttrT& val,
++ __attribute__ ((unused)) IteratorT const& first,
++ __attribute__ ((unused)) IteratorT const& last) const
+ {}
+ };
+
+diff -ru boost.orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp boost/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-07-16 22:13:57.708972962 +0200
+@@ -69,7 +69,7 @@
{ // Does _not_ copy the helpers member !
}
@@ -499,8 +870,9 @@
{ // Does _not_ copy the helpers member !
return *this;
}
---- misc/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/parser_context.hpp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/parser_context.hpp 2012-01-20 12:44:07.124316347 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/non_terminal/parser_context.hpp boost/boost/spirit/home/classic/core/non_terminal/parser_context.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/non_terminal/parser_context.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/non_terminal/parser_context.hpp 2015-07-16 22:17:08.977970813 +0200
@@ -51,15 +51,15 @@
typedef parser_context_linker<parser_context<AttrT> > context_linker_t;
@@ -516,13 +888,14 @@
template <typename ResultT, typename ParserT, typename ScannerT>
ResultT&
- post_parse(ResultT& hit, ParserT const&, ScannerT const&)
-+ post_parse(ResultT& hit, __attribute__ ((unused)) ParserT const&, __attribute__ ((unused)) ScannerT const&)
++ post_parse(__attribute__ ((unused)) ResultT& hit, __attribute__ ((unused)) ParserT const&, __attribute__ ((unused)) ScannerT const&)
{ return hit; }
};
---- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2012-01-20 15:24:32.364576113 +0100
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2012-01-20 12:44:07.125316343 +0100
-@@ -240,7 +240,7 @@
+diff -ru boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-07-16 22:17:53.303970314 +0200
+@@ -226,7 +226,7 @@
}
template <>
@@ -531,8 +904,9 @@
{
return true;
}
---- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/primitives.hpp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/primitives.hpp 2012-01-20 12:44:07.125316343 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/primitives/primitives.hpp boost/boost/spirit/home/classic/core/primitives/primitives.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/primitives/primitives.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/primitives/primitives.hpp 2015-07-16 22:18:27.942969925 +0200
@@ -316,7 +316,7 @@
anychar_parser() {}
@@ -542,8 +916,9 @@
{
return true;
}
---- misc/boost_1_44_0/boost/spirit/home/classic/core/scanner/impl/skipper.ipp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/scanner/impl/skipper.ipp 2012-01-20 12:44:07.125316343 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/scanner/impl/skipper.ipp boost/boost/spirit/home/classic/core/scanner/impl/skipper.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/scanner/impl/skipper.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/scanner/impl/skipper.ipp 2015-07-16 22:19:06.409969493 +0200
@@ -122,7 +122,7 @@
IteratorT const& first_,
IteratorT const& last,
@@ -553,8 +928,9 @@
{
typedef skipper_iteration_policy<> iter_policy_t;
typedef scanner_policies<iter_policy_t> scanner_policies_t;
---- misc/boost_1_44_0/boost/spirit/home/classic/core/scanner/scanner.hpp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/scanner/scanner.hpp 2012-01-20 12:44:07.126316338 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/scanner/scanner.hpp boost/boost/spirit/home/classic/core/scanner/scanner.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/scanner/scanner.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/scanner/scanner.hpp 2015-07-16 22:20:18.232968685 +0200
@@ -82,18 +82,18 @@
create_match(
std::size_t length,
@@ -591,8 +967,9 @@
{
actor(val);
}
---- misc/boost_1_44_0/boost/spirit/home/classic/core/scanner/skipper.hpp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/scanner/skipper.hpp 2012-01-20 12:44:07.126316338 +0100
+diff -ru boost.orig/boost/spirit/home/classic/core/scanner/skipper.hpp boost/boost/spirit/home/classic/core/scanner/skipper.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/scanner/skipper.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/scanner/skipper.hpp 2015-07-16 22:20:47.695968354 +0200
@@ -82,7 +82,7 @@
template <typename ScannerT>
@@ -602,8 +979,9 @@
};
///////////////////////////////////////////////////////////////////////////
---- misc/boost_1_44_0/boost/spirit/home/classic/meta/impl/refactoring.ipp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/meta/impl/refactoring.ipp 2012-01-20 12:44:07.126316338 +0100
+diff -ru boost.orig/boost/spirit/home/classic/meta/impl/refactoring.ipp boost/boost/spirit/home/classic/meta/impl/refactoring.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/meta/impl/refactoring.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/meta/impl/refactoring.ipp 2015-07-16 22:23:33.840966487 +0200
@@ -92,7 +92,7 @@
template <typename ParserT, typename ScannerT, typename BinaryT>
@@ -640,38 +1018,52 @@
{
return action.parse(scan);
}
---- misc/boost_1_44_0/boost/spirit/home/classic/utility/impl/chset.ipp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/impl/chset.ipp
-@@ -129,7 +129,7 @@
+diff -ru boost.orig/boost/spirit/home/classic/phoenix/tuples.hpp boost/boost/spirit/home/classic/phoenix/tuples.hpp
+--- foo/misc/boost.orig/boost/spirit/home/classic/phoenix/tuples.hpp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/phoenix/tuples.hpp 2015-07-16 22:35:37.780958351 +0200
+@@ -207,7 +207,7 @@
+ typedef nil_t& rtype;
+ typedef nil_t const& crtype;
+
+- static nil_t get(TupleT const& t) { return nil_t(); }
++ static nil_t get(__attribute__ ((unused)) TupleT const& t) { return nil_t(); }
+ };
+
+ //////////////////////////////////
+diff -ru boost.orig/boost/spirit/home/classic/utility/impl/chset.ipp boost/boost/spirit/home/classic/utility/impl/chset.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/utility/impl/chset.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/utility/impl/chset.ipp 2015-07-16 22:29:45.156962314 +0200
+@@ -97,7 +97,7 @@
}
template <typename CharT>
--inline chset<CharT>::chset(nothing_parser arg_)
-+inline chset<CharT>::chset(__attribute__ ((unused)) nothing_parser arg_)
+-inline chset<CharT>::chset(nothing_parser /*arg_*/)
++inline chset<CharT>::chset(__attribute__ ((unused)) nothing_parser /*arg_*/)
: ptr(new basic_chset<CharT>()) {}
template <typename CharT>
-@@ -182,7 +182,7 @@
+@@ -146,7 +146,7 @@
template <typename CharT>
inline chset<CharT>&
--chset<CharT>::operator=(anychar_parser rhs)
-+chset<CharT>::operator=(__attribute__ ((unused)) anychar_parser rhs)
+-chset<CharT>::operator=(anychar_parser /*rhs*/)
++chset<CharT>::operator=(__attribute__ ((unused)) anychar_parser /*rhs*/)
{
utility::impl::detach_clear(ptr);
ptr->set(
-@@ -194,7 +194,7 @@
+@@ -158,7 +158,7 @@
template <typename CharT>
inline chset<CharT>&
--chset<CharT>::operator=(nothing_parser rhs)
-+chset<CharT>::operator=(__attribute__ ((unused)) nothing_parser rhs)
+-chset<CharT>::operator=(nothing_parser /*rhs*/)
++chset<CharT>::operator=(__attribute__ ((unused)) nothing_parser /*rhs*/)
{
utility::impl::detach_clear(ptr);
return *this;
---- misc/boost_1_44_0/boost/spirit/home/classic/utility/impl/chset_operators.ipp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/impl/chset_operators.ipp 2012-01-20 12:44:07.127316333 +0100
-@@ -576,7 +576,7 @@
+diff -ru boost.orig/boost/spirit/home/classic/utility/impl/chset_operators.ipp boost/boost/spirit/home/classic/utility/impl/chset_operators.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/utility/impl/chset_operators.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/utility/impl/chset_operators.ipp 2015-07-16 22:31:03.363961435 +0200
+@@ -502,7 +502,7 @@
//////////////////////////////////
template <typename CharT>
inline chset<CharT>
@@ -680,8 +1072,9 @@
{
return ~b;
}
---- misc/boost_1_44_0/boost/spirit/home/classic/utility/impl/lists.ipp 2008-06-22 17:05:38.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/impl/lists.ipp 2012-01-20 12:44:07.127316333 +0100
+diff -ru boost.orig/boost/spirit/home/classic/utility/impl/lists.ipp boost/boost/spirit/home/classic/utility/impl/lists.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/utility/impl/lists.ipp 2015-05-17 14:17:51.000000000 +0200
++++ foo/misc/boost/boost/spirit/home/classic/utility/impl/lists.ipp 2015-07-16 22:34:55.728958823 +0200
@@ -64,8 +64,8 @@
typename ItemT, typename DelimT
>
@@ -704,42 +1097,34 @@
{
return (
(item - delim)
---- misc/boost_1_44_0/boost/spirit/home/classic/phoenix/tuples.hpp
-+++ misc/build/boost_1_44_0/boost/spirit/home/classic/phoenix/tuples.hpp
-@@ -211,7 +211,7 @@
- typedef nil_t& rtype;
- typedef nil_t const& crtype;
-
-- static nil_t get(TupleT const& t) { return nil_t(); }
-+ static nil_t get(__attribute__ ((unused)) TupleT const& t) { return nil_t(); }
- };
-
- //////////////////////////////////
---- misc/boost_1_44_0/boost/throw_exception.hpp 2010-07-03 23:32:02.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/throw_exception.hpp 2012-01-20 12:44:07.127316333 +0100
-@@ -49,7 +49,7 @@
+diff -ru boost.orig/boost/throw_exception.hpp boost/boost/throw_exception.hpp
+--- foo/misc/boost.orig/boost/throw_exception.hpp 2014-06-08 22:17:48.000000000 +0200
++++ foo/misc/boost/boost/throw_exception.hpp 2015-07-16 22:36:06.940958023 +0200
+@@ -57,7 +57,7 @@
#else
-inline void throw_exception_assert_compatibility( std::exception const & ) { }
+inline void throw_exception_assert_compatibility( __attribute__ ((unused)) std::exception const & ) { }
- template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
+ template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
{
---- 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 @@
+diff -ru boost.orig/boost/type_index/stl_type_index.hpp boost/boost/type_index/stl_type_index.hpp
+--- foo/misc/boost.orig/boost/type_index/stl_type_index.hpp 2015-06-21 22:16:46.000000000 +0200
++++ foo/misc/boost/boost/type_index/stl_type_index.hpp 2015-07-16 22:55:42.886944806 +0200
+@@ -174,7 +174,7 @@
- template<class T> struct addressof_impl
- {
-- static inline T * f( T & v, long )
-+ static inline T * f( T & v, __attribute__ ((unused)) long )
- {
- return reinterpret_cast<T*>(
- &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
---- misc/boost_1_44_0/boost/variant/detail/visitation_impl.hpp 2010-06-10 17:32:07.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/variant/detail/visitation_impl.hpp 2012-01-20 12:44:07.128316328 +0100
-@@ -121,7 +121,7 @@
+
+ inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
+-#if _MSC_VER > 1600 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__))
++#if (defined(_MSC_VER) && _MSC_VER > 1600) || (__GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__))
+ return data_->hash_code();
+ #else
+ return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name()));
+diff -ru boost.orig/boost/variant/detail/visitation_impl.hpp boost/boost/variant/detail/visitation_impl.hpp
+--- foo/misc/boost.orig/boost/variant/detail/visitation_impl.hpp 2015-06-25 23:53:21.000000000 +0200
++++ foo/misc/boost/boost/variant/detail/visitation_impl.hpp 2015-07-16 22:40:41.528954937 +0200
+@@ -105,7 +105,7 @@
inline
BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
visitation_impl_invoke_impl(
@@ -748,25 +1133,7 @@
, mpl::true_// never_uses_backup
)
{
-@@ -158,7 +158,7 @@
- visitation_impl_invoke(
- int internal_which, Visitor& visitor, VoidPtrCV storage, T* t
- , NoBackupFlag
-- , int
-+ , __attribute__ ((unused)) int
- )
- {
- typedef typename mpl::or_<
-@@ -176,7 +176,7 @@
- template <typename Visitor, typename VoidPtrCV, typename NBF>
- inline
- BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
--visitation_impl_invoke(int, Visitor&, VoidPtrCV, apply_visitor_unrolled*, NBF, long)
-+visitation_impl_invoke(__attribute__ ((unused)) int, __attribute__ ((unused)) Visitor&, VoidPtrCV, __attribute__ ((unused)) apply_visitor_unrolled*, NBF, __attribute__ ((unused)) long)
- {
- // should never be here at runtime:
- BOOST_ASSERT(false);
-@@ -198,9 +198,9 @@
+@@ -181,9 +181,9 @@
inline
BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
visitation_impl(
@@ -777,8 +1144,8 @@
+ , NBF, __attribute__ ((unused)) W* = 0, __attribute__ ((unused)) S* = 0
)
{
- // should never be here at runtime:
-@@ -221,7 +221,7 @@
+ // should never be here at runtime!
+@@ -203,7 +203,7 @@
, Visitor& visitor, VoidPtrCV storage
, mpl::false_ // is_apply_visitor_unrolled
, NoBackupFlag no_backup_flag
@@ -787,29 +1154,31 @@
)
{
// Typedef apply_visitor_unrolled steps and associated types...
---- misc/boost_1_44_0/boost/variant/get.hpp 2005-08-25 18:27:28.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/variant/get.hpp 2012-01-20 12:44:07.129316324 +0100
-@@ -85,7 +85,7 @@
+diff -ru boost.orig/boost/variant/get.hpp boost/boost/variant/get.hpp
+--- foo/misc/boost.orig/boost/variant/get.hpp 2015-06-25 23:53:21.000000000 +0200
++++ foo/misc/boost/boost/variant/get.hpp 2015-07-16 22:41:42.159954255 +0200
+@@ -80,7 +80,7 @@
}
template <typename U>
-- pointer operator()(const U&) const
-+ pointer operator()(__attribute__ ((unused)) const U&) const
+- pointer operator()(const U&) const BOOST_NOEXCEPT
++ pointer operator()(__attribute__ ((unused)) const U&) const BOOST_NOEXCEPT
{
return static_cast<pointer>(0);
}
---- misc/boost_1_44_0/boost/variant/variant.hpp 2010-06-10 17:32:07.000000000 +0200
-+++ misc/build/boost_1_44_0/boost/variant/variant.hpp 2012-01-20 12:44:07.129316324 +0100
-@@ -290,7 +290,7 @@
+diff -ru boost.orig/boost/variant/variant.hpp boost/boost/variant/variant.hpp
+--- foo/misc/boost.orig/boost/variant/variant.hpp 2015-06-25 23:53:21.000000000 +0200
++++ foo/misc/boost/boost/variant/variant.hpp 2015-07-16 22:44:37.631952283 +0200
+@@ -312,7 +312,7 @@
template <typename T>
BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-- internal_visit(T& operand, int) const
-+ internal_visit(T& operand, __attribute__ ((unused)) int) const
+- internal_visit(T& operand, int) const BOOST_NOEXCEPT
++ internal_visit(T& operand, __attribute__ ((unused)) int) const BOOST_NOEXCEPT
{
- operand.~T();
+ operand.~T(); // must be noexcept
-@@ -404,7 +404,7 @@
+@@ -392,7 +392,7 @@
template <typename T>
BOOST_VARIANT_AUX_RETURN_VOID_TYPE
@@ -818,7 +1187,7 @@
{
new(storage_) T(operand);
BOOST_VARIANT_AUX_RETURN_VOID;
-@@ -454,7 +454,7 @@
+@@ -539,7 +539,7 @@
template <typename T>
BOOST_VARIANT_AUX_RETURN_VOID_TYPE
@@ -827,7 +1196,7 @@
{
// NOTE TO USER :
// Compile error here indicates one of variant's bounded types does
-@@ -502,7 +502,7 @@
+@@ -585,7 +585,7 @@
}
template <typename U>
@@ -836,81 +1205,3 @@
{
return false;
}
-@@ -827,7 +827,7 @@
- public: // internal visitor interfaces
-
- template <typename T>
-- result_type internal_visit(T& operand, int)
-+ result_type internal_visit(T& operand, __attribute__ ((unused)) int)
- {
- return visitor_(operand);
- }
-@@ -1225,7 +1225,7 @@
- public: // internal visitor interfaces (below)
-
- template <typename T>
-- int internal_visit(T& operand, int) const
-+ int internal_visit(T& operand, __attribute__ ((unused)) int) const
- {
- // NOTE TO USER :
- // Compile error here indicates one of the source variant's types
-@@ -1288,7 +1288,7 @@
- template <typename T>
- void convert_construct(
- T& operand
-- , int
-+ , __attribute__ ((unused)) int
- , mpl::false_ = mpl::false_() // is_foreign_variant
- )
- {
-@@ -1308,7 +1308,7 @@
- template <typename Variant>
- void convert_construct(
- Variant& operand
-- , long
-+ , __attribute__ ((unused)) long
- , mpl::true_// is_foreign_variant
- )
- {
-@@ -1348,7 +1348,7 @@
- template <BOOST_VARIANT_ENUM_PARAMS(typename U)>
- void convert_construct(
- boost::variant<BOOST_VARIANT_ENUM_PARAMS(U)>& operand
-- , long
-+ , __attribute__ ((unused)) long
- )
- {
- convert_construct_variant(operand);
-@@ -1553,7 +1553,7 @@
-
- template <typename RhsT>
- BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-- internal_visit(const RhsT& rhs_content, int)
-+ internal_visit(const RhsT& rhs_content, __attribute__ ((unused)) int)
- {
- typedef typename has_nothrow_copy<RhsT>::type
- nothrow_copy;
---- 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 @@
- {
- default_deleter() { }
- template<typename TT>
-- default_deleter(default_deleter<TT> tt) { }
-+ default_deleter(__attribute__ ((unused)) default_deleter<TT> tt) { }
- };
-
- } } } // End namespaces ptr_container_detail, move_ptrs, boost.
---- misc/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp
-+++ misc/build/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp
-@@ -664,8 +664,8 @@
-
- }
-
-- void range_check_impl( iterator first, iterator last,
-- std::bidirectional_iterator_tag )
-+ void range_check_impl( __attribute__ ((unused)) iterator first, __attribute__ ((unused)) iterator last,
-+ std::bidirectional_iterator_tag )
- { /* do nothing */ }
-
- void range_check_impl( iterator first, iterator last,
diff --git a/external/boost/boost_1_59_0.iostreams.wshadow.patch b/external/boost/boost_1_59_0.iostreams.wshadow.patch
new file mode 100644
index 000000000000..20390643172e
--- /dev/null
+++ b/external/boost/boost_1_59_0.iostreams.wshadow.patch
@@ -0,0 +1,197 @@
+diff -ru boost.orig/boost/iostreams/detail/buffer.hpp boost/boost/iostreams/detail/buffer.hpp
+--- foo/misc/boost.orig/boost/iostreams/detail/buffer.hpp 2015-07-19 12:06:22.159924201 +0200
++++ foo/misc/boost/boost/iostreams/detail/buffer.hpp 2015-07-19 12:07:32.000923416 +0200
+@@ -179,9 +179,9 @@
+ : basic_buffer<Ch, Alloc>(buffer_size) { }
+
+ template<typename Ch, typename Alloc>
+-inline void buffer<Ch, Alloc>::set(std::streamsize ptr, std::streamsize end)
++inline void buffer<Ch, Alloc>::set(std::streamsize ptr_arg, std::streamsize end)
+ {
+- ptr_ = data() + ptr;
++ ptr_ = data() + ptr_arg;
+ eptr_ = data() + end;
+ }
+
+diff -ru boost.orig/boost/iostreams/filter/gzip.hpp boost/boost/iostreams/filter/gzip.hpp
+--- foo/misc/boost.orig/boost/iostreams/filter/gzip.hpp 2015-01-25 20:33:40.000000000 +0100
++++ foo/misc/boost/boost/iostreams/filter/gzip.hpp 2015-07-19 12:23:11.208912860 +0200
+@@ -135,16 +135,16 @@
+ struct gzip_params : zlib_params {
+
+ // Non-explicit constructor.
+- gzip_params( int level = gzip::default_compression,
+- int method = gzip::deflated,
+- int window_bits = gzip::default_window_bits,
+- int mem_level = gzip::default_mem_level,
+- int strategy = gzip::default_strategy,
+- std::string file_name = "",
+- std::string comment = "",
+- std::time_t mtime = 0 )
+- : zlib_params(level, method, window_bits, mem_level, strategy),
+- file_name(file_name), comment(comment), mtime(mtime)
++ gzip_params( int level_ = gzip::default_compression,
++ int method_ = gzip::deflated,
++ int window_bits_ = gzip::default_window_bits,
++ int mem_level_ = gzip::default_mem_level,
++ int strategy_ = gzip::default_strategy,
++ std::string file_name_ = "",
++ std::string comment_ = "",
++ std::time_t mtime_ = 0 )
++ : zlib_params(level_, method_, window_bits_, mem_level_, strategy_),
++ file_name(file_name_), comment(comment_), mtime(mtime_)
+ { }
+ std::string file_name;
+ std::string comment;
+@@ -160,9 +160,9 @@
+ //
+ class gzip_error : public BOOST_IOSTREAMS_FAILURE {
+ public:
+- explicit gzip_error(int error)
++ explicit gzip_error(int error_arg)
+ : BOOST_IOSTREAMS_FAILURE("gzip error"),
+- error_(error), zlib_error_code_(zlib::okay) { }
++ error_(error_arg), zlib_error_code_(zlib::okay) { }
+ explicit gzip_error(const zlib_error& e)
+ : BOOST_IOSTREAMS_FAILURE("gzip error"),
+ error_(gzip::zlib_error), zlib_error_code_(e.error())
+@@ -505,8 +505,8 @@
+ if (footer_.done()) {
+ if (footer_.crc() != this->crc())
+ boost::throw_exception(gzip_error(gzip::bad_crc));
+- int c = boost::iostreams::get(peek);
+- if (traits_type::is_eof(c)) {
++ int c2 = boost::iostreams::get(peek);
++ if (traits_type::is_eof(c2)) {
+ state_ = s_done;
+ } else {
+ peek.putback(c);
+@@ -567,8 +567,8 @@
+ struct peekable_source {
+ typedef char char_type;
+ struct category : source_tag, peekable_tag { };
+- explicit peekable_source(Source& src, const string_type& putback = "")
+- : src_(src), putback_(putback), offset_(0)
++ explicit peekable_source(Source& src, const string_type& putback_arg = "")
++ : src_(src), putback_(putback_arg), offset_(0)
+ { }
+ std::streamsize read(char* s, std::streamsize n)
+ {
+diff -ru boost.orig/boost/iostreams/filter/symmetric.hpp boost/boost/iostreams/filter/symmetric.hpp
+--- foo/misc/boost.orig/boost/iostreams/filter/symmetric.hpp 2015-01-25 20:33:40.000000000 +0100
++++ foo/misc/boost/boost/iostreams/filter/symmetric.hpp 2015-07-19 12:11:10.202920964 +0200
+@@ -102,7 +102,7 @@
+ if (!(state() & f_read))
+ begin_read();
+
+- buffer_type& buf = pimpl_->buf_;
++ buffer_type& buf_l = pimpl_->buf_;
+ int status = (state() & f_eof) != 0 ? f_eof : f_good;
+ char_type *next_s = s,
+ *end_s = s + n;
+@@ -110,12 +110,12 @@
+ {
+ // Invoke filter if there are unconsumed characters in buffer or if
+ // filter must be flushed.
+- bool flush = status == f_eof;
+- if (buf.ptr() != buf.eptr() || flush) {
+- const char_type* next = buf.ptr();
++ bool flush_l = status == f_eof;
++ if (buf_l.ptr() != buf_l.eptr() || flush_l) {
++ const char_type* next = buf_l.ptr();
+ bool done =
+- !filter().filter(next, buf.eptr(), next_s, end_s, flush);
+- buf.ptr() = buf.data() + (next - buf.data());
++ !filter().filter(next, buf_l.eptr(), next_s, end_s, flush_l);
++ buf_l.ptr() = buf_l.data() + (next - buf_l.data());
+ if (done)
+ return detail::check_eof(
+ static_cast<std::streamsize>(next_s - s)
+@@ -124,7 +124,7 @@
+
+ // If no more characters are available without blocking, or
+ // if read request has been satisfied, return.
+- if ( (status == f_would_block && buf.ptr() == buf.eptr()) ||
++ if ( (status == f_would_block && buf_l.ptr() == buf_l.eptr()) ||
+ next_s == end_s )
+ {
+ return static_cast<std::streamsize>(next_s - s);
+@@ -142,12 +142,12 @@
+ if (!(state() & f_write))
+ begin_write();
+
+- buffer_type& buf = pimpl_->buf_;
++ buffer_type& buf_l = pimpl_->buf_;
+ const char_type *next_s, *end_s;
+ for (next_s = s, end_s = s + n; next_s != end_s; ) {
+- if (buf.ptr() == buf.eptr() && !flush(snk))
++ if (buf_l.ptr() == buf_l.eptr() && !flush(snk))
+ break;
+- if(!filter().filter(next_s, end_s, buf.ptr(), buf.eptr(), false)) {
++ if(!filter().filter(next_s, end_s, buf_l.ptr(), buf_l.eptr(), false)) {
+ flush(snk);
+ break;
+ }
+@@ -165,14 +165,14 @@
+
+ // Repeatedly invoke filter() with no input.
+ try {
+- buffer_type& buf = pimpl_->buf_;
++ buffer_type& buf_l = pimpl_->buf_;
+ char_type dummy;
+ const char_type* end = &dummy;
+ bool again = true;
+ while (again) {
+- if (buf.ptr() != buf.eptr())
+- again = filter().filter( end, end, buf.ptr(),
+- buf.eptr(), true );
++ if (buf_l.ptr() != buf_l.eptr())
++ again = filter().filter( end, end, buf_l.ptr(),
++ buf_l.eptr(), true );
+ flush(snk);
+ }
+ } catch (...) {
+diff -ru boost.orig/boost/iostreams/filter/zlib.hpp boost/boost/iostreams/filter/zlib.hpp
+--- foo/misc/boost.orig/boost/iostreams/filter/zlib.hpp 2015-01-25 20:33:40.000000000 +0100
++++ foo/misc/boost/boost/iostreams/filter/zlib.hpp 2015-07-19 12:13:59.995919056 +0200
+@@ -110,16 +110,16 @@
+ struct zlib_params {
+
+ // Non-explicit constructor.
+- zlib_params( int level = zlib::default_compression,
+- int method = zlib::deflated,
+- int window_bits = zlib::default_window_bits,
+- int mem_level = zlib::default_mem_level,
+- int strategy = zlib::default_strategy,
+- bool noheader = zlib::default_noheader,
+- bool calculate_crc = zlib::default_crc )
+- : level(level), method(method), window_bits(window_bits),
+- mem_level(mem_level), strategy(strategy),
+- noheader(noheader), calculate_crc(calculate_crc)
++ zlib_params( int level_ = zlib::default_compression,
++ int method_ = zlib::deflated,
++ int window_bits_ = zlib::default_window_bits,
++ int mem_level_ = zlib::default_mem_level,
++ int strategy_ = zlib::default_strategy,
++ bool noheader_ = zlib::default_noheader,
++ bool calculate_crc_ = zlib::default_crc )
++ : level(level_), method(method_), window_bits(window_bits_),
++ mem_level(mem_level_), strategy(strategy_),
++ noheader(noheader_), calculate_crc(calculate_crc_)
+ { }
+ int level;
+ int method;
+diff -ru boost.orig/libs/iostreams/src/zlib.cpp boost/libs/iostreams/src/zlib.cpp
+--- foo/misc/boost.orig/libs/iostreams/src/zlib.cpp 2015-01-25 20:33:40.000000000 +0100
++++ foo/misc/boost/libs/iostreams/src/zlib.cpp 2015-07-19 12:14:51.815918473 +0200
+@@ -67,8 +67,8 @@
+
+ //------------------Implementation of zlib_error------------------------------//
+
+-zlib_error::zlib_error(int error)
+- : BOOST_IOSTREAMS_FAILURE("zlib error"), error_(error)
++zlib_error::zlib_error(int error_arg)
++ : BOOST_IOSTREAMS_FAILURE("zlib error"), error_(error_arg)
+ { }
+
+ void zlib_error::check BOOST_PREVENT_MACRO_SUBSTITUTION(int error)
diff --git a/external/boost/boost_1_59_0.iostreams.wunused.patch b/external/boost/boost_1_59_0.iostreams.wunused.patch
new file mode 100644
index 000000000000..a05dd1ca39ed
--- /dev/null
+++ b/external/boost/boost_1_59_0.iostreams.wunused.patch
@@ -0,0 +1,12 @@
+diff -ru boost.orig/boost/iostreams/filter/gzip.hpp boost/boost/iostreams/filter/gzip.hpp
+--- foo/misc/boost.orig/boost/iostreams/filter/gzip.hpp 2015-07-22 20:58:35.758990022 +0200
++++ foo/misc/boost/boost/iostreams/filter/gzip.hpp 2015-07-22 21:20:50.982997292 +0200
+@@ -279,7 +279,7 @@
+ boost::iostreams::put(next, static_cast<char>(0xFF & (n >> 24)));
+ }
+ template<typename Sink>
+- static void write_long(long n, Sink& next, boost::mpl::false_)
++ static void write_long(long, Sink&, boost::mpl::false_)
+ {
+ }
+ template<typename Sink>
diff --git a/external/boost/boost_1_59_0.move.Bool-type-collision.4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.patch b/external/boost/boost_1_59_0.move.Bool-type-collision.4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.patch
new file mode 100644
index 000000000000..4974127c4868
--- /dev/null
+++ b/external/boost/boost_1_59_0.move.Bool-type-collision.4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.patch
@@ -0,0 +1,44 @@
+This patch is needed to avoid type collision between Bool type
+defined in XLib with non used non class template parameter
+name introduced in this commit in move library:
+
+ 4f9c2b62fbdcf5995ecf50a2ecf2494048a6696d.
+
+The obscure error message was issued on both Clang 3.8 and GCC 4.8.1:
+
+ In file included from /home/davido/projects/libo/include/prex.h:32:0,
+ from /home/davido/projects/libo/include/vcl/opengl/OpenGLHelper.hxx:20,
+ from /home/davido/projects/libo/vcl/source/opengl/OpenGLHelper.cxx:11:
+/home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/move/detail/meta_utils.hpp:350:15: error: two or more data types in declaration of ‘parameter’
+ template<bool Bool, class B = true_, class C = true_, class D = true_>
+ ^
+In file included from /home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/move/utility_core.hpp:30:0,
+ from /home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/move/utility.hpp:28,
+ from /home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/optional/optional.hpp:50,
+ from /home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/optional.hpp:15,
+ from /home/davido/projects/libo/workdir/CustomTarget/officecfg/registry/officecfg/Office/Common.hxx:7,
+ from /home/davido/projects/libo/vcl/source/opengl/OpenGLHelper.cxx:22:
+/home/davido/projects/libo/workdir/UnpackedTarball/boost/boost/move/detail/meta_utils.hpp:352:29: note: invalid template non-type parameter
+ : and_impl<B::value, C, D>
+
+diff -ru boost.orig/boost/move/detail/meta_utils.hpp boost/boost/move/detail/meta_utils.hpp
+--- foo/misc/boost.orig/boost/move/detail/meta_utils.hpp 2015-07-19 14:16:13.764836630 +0200
++++ foo/misc/boost/boost/move/detail/meta_utils.hpp 2015-07-19 21:04:15.960985030 +0200
+@@ -347,7 +347,7 @@
+ // and_
+ //
+ //////////////////////////////////////////////////////////////////////////////
+-template<bool Bool, class B = true_, class C = true_, class D = true_>
++template<bool, class B = true_, class C = true_, class D = true_>
+ struct and_impl
+ : and_impl<B::value, C, D>
+ {};
+@@ -374,7 +374,7 @@
+ // or_
+ //
+ //////////////////////////////////////////////////////////////////////////////
+-template<bool Bool, class B = false_, class C = false_, class D = false_>
++template<bool, class B = false_, class C = false_, class D = false_>
+ struct or_impl
+ : or_impl<B::value, C, D>
+ {};
diff --git a/external/boost/boost_1_59_0.mpl.config.wundef.patch b/external/boost/boost_1_59_0.mpl.config.wundef.patch
new file mode 100644
index 000000000000..2826cfc2b6c4
--- /dev/null
+++ b/external/boost/boost_1_59_0.mpl.config.wundef.patch
@@ -0,0 +1,11 @@
+diff -ru boost.orig/boost/mpl/aux_/config/operators.hpp boost/boost/mpl/aux_/config/operators.hpp
+--- foo/misc/boost.orig/boost/mpl/aux_/config/operators.hpp 2015-07-19 11:20:40.015955021 +0200
++++ foo/misc/boost/boost/mpl/aux_/config/operators.hpp 2015-07-19 11:33:14.342946543 +0200
+@@ -24,7 +24,6 @@
+ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
+ || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \
+ || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \
+- || BOOST_WORKAROUND(__NVCC__, BOOST_TESTED_AT(1)) \
+ )
+
+ # define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING
diff --git a/external/boost/boost_1_59_0.multi_array.wshadow.patch b/external/boost/boost_1_59_0.multi_array.wshadow.patch
new file mode 100644
index 000000000000..1f7b28a9931d
--- /dev/null
+++ b/external/boost/boost_1_59_0.multi_array.wshadow.patch
@@ -0,0 +1,505 @@
+diff -ru boost.orig/boost/multi_array/concept_checks.hpp boost/boost/multi_array/concept_checks.hpp
+--- foo/misc/boost.orig/boost/multi_array/concept_checks.hpp 2015-07-19 21:08:27.605982202 +0200
++++ foo/misc/boost/boost/multi_array/concept_checks.hpp 2015-07-19 21:18:59.330975102 +0200
+@@ -162,27 +162,27 @@
+ const_constraints(a);
+ }
+
+- void const_constraints(const Array& a) {
++ void const_constraints(const Array& a_) {
+
+ // value_type vt = a[ id ];
+
+ // Test slicing, keeping only the first dimension, losing the rest
+- 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.
+- 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();
+- st = a.num_elements();
+- stp = a.shape();
+- idp = a.strides();
+- idp = a.index_bases();
+- cit = a.begin();
+- cit = a.end();
+- crit = a.rbegin();
+- crit = a.rend();
+- eltp = a.origin();
++ st = a_.size();
++ st = a_.num_dimensions();
++ st = a_.num_elements();
++ stp = a_.shape();
++ idp = a_.strides();
++ idp = a_.index_bases();
++ cit = a_.begin();
++ cit = a_.end();
++ crit = a_.rbegin();
++ crit = a_.rend();
++ eltp = a_.origin();
+ }
+
+ typedef typename Array::value_type value_type;
+diff -ru boost.orig/boost/multi_array/extent_range.hpp boost/boost/multi_array/extent_range.hpp
+--- foo/misc/boost.orig/boost/multi_array/extent_range.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/extent_range.hpp 2015-07-19 21:14:52.850977872 +0200
+@@ -26,11 +26,11 @@
+ typedef Extent index;
+ typedef SizeType size_type;
+
+- extent_range(index start, index finish) :
+- super_type(start,finish) { }
++ extent_range(index start_, index finish_) :
++ super_type(start_,finish_) { }
+
+- extent_range(index finish) :
+- super_type(0,finish) { }
++ extent_range(index finish_) :
++ super_type(0,finish_) { }
+
+ extent_range() : super_type(0,0) { }
+
+diff -ru boost.orig/boost/multi_array/index_range.hpp boost/boost/multi_array/index_range.hpp
+--- foo/misc/boost.orig/boost/multi_array/index_range.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/index_range.hpp 2015-07-19 21:17:06.618976369 +0200
+@@ -60,8 +60,8 @@
+ degenerate_ = true;
+ }
+
+- explicit index_range(index start, index finish, index stride=1)
+- : start_(start), finish_(finish), stride_(stride),
++ explicit index_range(index start_arg, index finish_arg, index stride_arg=1)
++ : start_(start_arg), finish_(finish_arg), stride_(stride_arg),
+ degenerate_(false)
+ { }
+
+@@ -107,11 +107,11 @@
+
+ index stride() const { return stride_; }
+
+- void set_index_range(index start, index finish, index stride=1)
++ void set_index_range(index start_arg, index finish_arg, index stride_arg=1)
+ {
+- start_ = start;
+- finish_ = finish;
+- stride_ = stride;
++ start_ = start_arg;
++ finish_ = finish_arg;
++ stride_ = stride_arg;
+ }
+
+ static index_range all()
+diff -ru boost.orig/boost/multi_array/multi_array_ref.hpp boost/boost/multi_array/multi_array_ref.hpp
+--- foo/misc/boost.orig/boost/multi_array/multi_array_ref.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/multi_array_ref.hpp 2015-07-19 21:26:35.935969970 +0200
+@@ -125,13 +125,13 @@
+ }
+
+ template <class InputIterator>
+- void assign(InputIterator begin, InputIterator end) {
++ void assign(InputIterator begin_, InputIterator end_) {
+ boost::function_requires<InputIteratorConcept<InputIterator> >();
+
+- InputIterator in_iter = begin;
++ InputIterator in_iter = begin_;
+ T* out_iter = base_;
+ std::size_t copy_count=0;
+- while (in_iter != end && copy_count < num_elements_) {
++ while (in_iter != end_ && copy_count < num_elements_) {
+ *out_iter++ = *in_iter++;
+ copy_count++;
+ }
+@@ -324,15 +324,15 @@
+ explicit
+ const_multi_array_ref(TPtr base,
+ const storage_order_type& so,
+- const index * index_bases,
++ const index * index_bases_,
+ const size_type* extents) :
+ base_(base), storage_(so), origin_offset_(0), directional_offset_(0)
+ {
+ // If index_bases or extents is null, then initialize the corresponding
+ // private data to zeroed lists.
+- if(index_bases) {
++ if(index_bases_) {
+ boost::detail::multi_array::
+- copy_n(index_bases,NumDims,index_base_list_.begin());
++ copy_n(index_bases_,NumDims,index_base_list_.begin());
+ } else {
+ std::fill_n(index_base_list_.begin(),NumDims,0);
+ }
+@@ -611,9 +611,9 @@
+ // This is only supplied to support multi_array's default constructor
+ explicit multi_array_ref(T* base,
+ const storage_order_type& so,
+- const index* index_bases,
++ const index* index_bases_arg,
+ const size_type* extents) :
+- super_type(base,so,index_bases,extents) { }
++ super_type(base,so,index_bases_arg,extents) { }
+
+ };
+
+diff -ru boost.orig/boost/multi_array/storage_order.hpp boost/boost/multi_array/storage_order.hpp
+--- foo/misc/boost.orig/boost/multi_array/storage_order.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/storage_order.hpp 2015-07-19 21:23:07.040972318 +0200
+@@ -34,10 +34,10 @@
+ public:
+ typedef detail::multi_array::size_type size_type;
+ template <typename OrderingIter, typename AscendingIter>
+- general_storage_order(OrderingIter ordering,
+- AscendingIter ascending) {
+- boost::detail::multi_array::copy_n(ordering,NumDims,ordering_.begin());
+- boost::detail::multi_array::copy_n(ascending,NumDims,ascending_.begin());
++ general_storage_order(OrderingIter ordering_arg,
++ AscendingIter ascending_arg) {
++ boost::detail::multi_array::copy_n(ordering_arg,NumDims,ordering_.begin());
++ boost::detail::multi_array::copy_n(ascending_arg,NumDims,ascending_.begin());
+ }
+
+ // RG - ideally these would not be necessary, but some compilers
+diff -ru boost.orig/boost/multi_array/subarray.hpp boost/boost/multi_array/subarray.hpp
+--- foo/misc/boost.orig/boost/multi_array/subarray.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/subarray.hpp 2015-07-19 21:25:51.521970469 +0200
+@@ -177,9 +177,9 @@
+
+ const_sub_array (TPtr base,
+ const size_type* extents,
+- const index* strides,
++ const index* strides_arg,
+ const index* index_base) :
+- base_(base), extents_(extents), strides_(strides),
++ base_(base), extents_(extents), strides_(strides_arg),
+ index_base_(index_base) {
+ }
+
+@@ -357,9 +357,9 @@
+
+ sub_array (T* base,
+ const size_type* extents,
+- const index* strides,
++ const index* strides_arg,
+ const index* index_base) :
+- super_type(base,extents,strides,index_base) {
++ super_type(base,extents,strides_arg,index_base) {
+ }
+
+ };
+diff -ru boost.orig/boost/multi_array/view.hpp boost/boost/multi_array/view.hpp
+--- foo/misc/boost.orig/boost/multi_array/view.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array/view.hpp 2015-07-19 21:25:28.396970729 +0200
+@@ -228,7 +228,7 @@
+ template <typename ExtentList, typename Index>
+ explicit const_multi_array_view(TPtr base,
+ const ExtentList& extents,
+- const boost::array<Index,NumDims>& strides):
++ const boost::array<Index,NumDims>& strides_):
+ base_(base), origin_offset_(0) {
+
+ index_base_list_.assign(0);
+@@ -237,7 +237,7 @@
+ boost::detail::multi_array::
+ copy_n(extents.begin(),NumDims,extent_list_.begin());
+ boost::detail::multi_array::
+- copy_n(strides.begin(),NumDims,stride_list_.begin());
++ copy_n(strides_.begin(),NumDims,stride_list_.begin());
+
+ // Calculate the array size
+ num_elements_ = std::accumulate(extent_list_.begin(),extent_list_.end(),
+@@ -430,8 +430,8 @@
+ template <typename ExtentList, typename Index>
+ explicit multi_array_view(T* base,
+ const ExtentList& extents,
+- const boost::array<Index,NumDims>& strides) :
+- super_type(base,extents,strides) { }
++ const boost::array<Index,NumDims>& strides_) :
++ super_type(base,extents,strides_) { }
+
+ };
+
+diff -ru boost.org/boost/multi_array/multi_array_ref.hpp boost/boost/multi_array/multi_array_ref.hpp
+--- foo/misc/boost.org/boost/multi_array/multi_array_ref.hpp 2015-07-21 23:15:13.897990987 +0200
++++ foo/misc/boost/boost/multi_array/multi_array_ref.hpp 2015-07-22 07:41:54.348055865 +0200
+@@ -87,24 +87,24 @@
+ num_elements_(other.num_elements_) { }
+
+ template <typename ExtentList>
+- explicit const_multi_array_ref(TPtr base, const ExtentList& extents) :
++ explicit const_multi_array_ref(TPtr base, const ExtentList& extents_arg) :
+ base_(base), storage_(c_storage_order()) {
+ boost::function_requires<
+ CollectionConcept<ExtentList> >();
+
+ index_base_list_.assign(0);
+- init_multi_array_ref(extents.begin());
++ init_multi_array_ref(extents_arg.begin());
+ }
+
+ template <typename ExtentList>
+- explicit const_multi_array_ref(TPtr base, const ExtentList& extents,
++ explicit const_multi_array_ref(TPtr base, const ExtentList& extents_arg,
+ const general_storage_order<NumDims>& so) :
+ base_(base), storage_(so) {
+ boost::function_requires<
+ CollectionConcept<ExtentList> >();
+
+ index_base_list_.assign(0);
+- init_multi_array_ref(extents.begin());
++ init_multi_array_ref(extents_arg.begin());
+ }
+
+ explicit const_multi_array_ref(TPtr base,
+@@ -162,14 +162,14 @@
+ }
+
+ template <typename SizeList>
+- void reshape(const SizeList& extents) {
++ void reshape(const SizeList& extents_arg) {
+ boost::function_requires<
+ CollectionConcept<SizeList> >();
+ BOOST_ASSERT(num_elements_ ==
+- std::accumulate(extents.begin(),extents.end(),
++ std::accumulate(extents_arg.begin(),extents_arg.end(),
+ size_type(1),std::multiplies<size_type>()));
+
+- std::copy(extents.begin(),extents.end(),extent_list_.begin());
++ std::copy(extents_arg.begin(),extents_arg.end(),extent_list_.begin());
+ this->compute_strides(stride_list_,extent_list_,storage_);
+
+ origin_offset_ =
+@@ -209,11 +209,11 @@
+ }
+
+ template <typename IndexList>
+- const element& operator()(IndexList indices) const {
++ const element& operator()(IndexList indices_arg) const {
+ boost::function_requires<
+ CollectionConcept<IndexList> >();
+ return super_type::access_element(boost::type<const element&>(),
+- indices,origin(),
++ indices_arg,origin(),
+ shape(),strides(),index_bases());
+ }
+
+@@ -228,12 +228,12 @@
+ template <int NDims>
+ typename const_array_view<NDims>::type
+ operator[](const detail::multi_array::
+- index_gen<NumDims,NDims>& indices)
++ index_gen<NumDims,NDims>& indices_arg)
+ const {
+ typedef typename const_array_view<NDims>::type return_type;
+ return
+ super_type::generate_array_view(boost::type<return_type>(),
+- indices,
++ indices_arg,
+ shape(),
+ strides(),
+ index_bases(),
+@@ -325,7 +325,7 @@
+ const_multi_array_ref(TPtr base,
+ const storage_order_type& so,
+ const index * index_bases_,
+- const size_type* extents) :
++ const size_type* extents_arg) :
+ base_(base), storage_(so), origin_offset_(0), directional_offset_(0)
+ {
+ // If index_bases or extents is null, then initialize the corresponding
+@@ -336,8 +336,8 @@
+ } else {
+ std::fill_n(index_base_list_.begin(),NumDims,0);
+ }
+- if(extents) {
+- init_multi_array_ref(extents);
++ if(extents_arg) {
++ init_multi_array_ref(extents_arg);
+ } else {
+ boost::array<index,NumDims> extent_list;
+ extent_list.assign(0);
+@@ -371,12 +371,12 @@
+ boost::mem_fun_ref(&extent_range::start));
+
+ // calculate the extents
+- extent_list extents;
++ extent_list extents_local;
+ std::transform(ranges.ranges_.begin(),ranges.ranges_.end(),
+- extents.begin(),
++ extents_local.begin(),
+ boost::mem_fun_ref(&extent_range::size));
+
+- init_multi_array_ref(extents.begin());
++ init_multi_array_ref(extents_local.begin());
+ }
+
+
+@@ -442,16 +442,16 @@
+ };
+
+ template <class ExtentList>
+- explicit multi_array_ref(T* base, const ExtentList& extents) :
+- super_type(base,extents) {
++ explicit multi_array_ref(T* base, const ExtentList& extents_arg) :
++ super_type(base,extents_arg) {
+ boost::function_requires<
+ CollectionConcept<ExtentList> >();
+ }
+
+ template <class ExtentList>
+- explicit multi_array_ref(T* base, const ExtentList& extents,
++ explicit multi_array_ref(T* base, const ExtentList& extents_arg,
+ const general_storage_order<NumDims>& so) :
+- super_type(base,extents,so) {
++ super_type(base,extents_arg,so) {
+ boost::function_requires<
+ CollectionConcept<ExtentList> >();
+ }
+@@ -506,11 +506,11 @@
+ element* data() { return super_type::base_; }
+
+ template <class IndexList>
+- element& operator()(const IndexList& indices) {
++ element& operator()(const IndexList& indices_arg) {
+ boost::function_requires<
+ CollectionConcept<IndexList> >();
+ return super_type::access_element(boost::type<element&>(),
+- indices,origin(),
++ indices_arg,origin(),
+ this->shape(),this->strides(),
+ this->index_bases());
+ }
+@@ -528,11 +528,11 @@
+ template <int NDims>
+ typename array_view<NDims>::type
+ operator[](const detail::multi_array::
+- index_gen<NumDims,NDims>& indices) {
++ index_gen<NumDims,NDims>& indices_arg) {
+ typedef typename array_view<NDims>::type return_type;
+ return
+ super_type::generate_array_view(boost::type<return_type>(),
+- indices,
++ indices_arg,
+ this->shape(),
+ this->strides(),
+ this->index_bases(),
+@@ -569,10 +569,10 @@
+ const element* data() const { return super_type::data(); }
+
+ template <class IndexList>
+- const element& operator()(const IndexList& indices) const {
++ const element& operator()(const IndexList& indices_arg) const {
+ boost::function_requires<
+ CollectionConcept<IndexList> >();
+- return super_type::operator()(indices);
++ return super_type::operator()(indices_arg);
+ }
+
+ const_reference operator[](index idx) const {
+@@ -586,9 +586,9 @@
+ template <int NDims>
+ typename const_array_view<NDims>::type
+ operator[](const detail::multi_array::
+- index_gen<NumDims,NDims>& indices)
++ index_gen<NumDims,NDims>& indices_arg)
+ const {
+- return super_type::operator[](indices);
++ return super_type::operator[](indices_arg);
+ }
+
+ const_iterator begin() const {
+@@ -612,8 +612,8 @@
+ explicit multi_array_ref(T* base,
+ const storage_order_type& so,
+ const index* index_bases_arg,
+- const size_type* extents) :
+- super_type(base,so,index_bases_arg,extents) { }
++ const size_type* extents_arg) :
++ super_type(base,so,index_bases_arg,extents_arg) { }
+
+ };
+
+diff -ru boost.org/boost/multi_array.hpp boost/boost/multi_array.hpp
+--- foo/misc/boost.org/boost/multi_array.hpp 2014-04-23 17:36:51.000000000 +0200
++++ foo/misc/boost/boost/multi_array.hpp 2015-07-22 07:42:38.361058726 +0200
+@@ -145,14 +145,14 @@
+
+ template <class ExtentList>
+ explicit multi_array(
+- ExtentList const& extents
++ ExtentList const& extents_arg
+ #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+ , typename mpl::if_<
+ detail::multi_array::is_multi_array_impl<ExtentList>,
+ int&,int>::type* = 0
+ #endif
+ ) :
+- super_type((T*)initial_base_,extents) {
++ super_type((T*)initial_base_,extents_arg) {
+ boost::function_requires<
+ detail::multi_array::CollectionConcept<ExtentList> >();
+ allocate_space();
+@@ -160,19 +160,19 @@
+
+
+ template <class ExtentList>
+- explicit multi_array(ExtentList const& extents,
++ explicit multi_array(ExtentList const& extents_arg,
+ const general_storage_order<NumDims>& so) :
+- super_type((T*)initial_base_,extents,so) {
++ super_type((T*)initial_base_,extents_arg,so) {
+ boost::function_requires<
+ detail::multi_array::CollectionConcept<ExtentList> >();
+ allocate_space();
+ }
+
+ template <class ExtentList>
+- explicit multi_array(ExtentList const& extents,
++ explicit multi_array(ExtentList const& extents_arg,
+ const general_storage_order<NumDims>& so,
+ Allocator const& alloc) :
+- super_type((T*)initial_base_,extents,so), allocator_(alloc) {
++ super_type((T*)initial_base_,extents_arg,so), allocator_(alloc) {
+ boost::function_requires<
+ detail::multi_array::CollectionConcept<ExtentList> >();
+ allocate_space();
+@@ -381,7 +381,7 @@
+
+
+ template <typename ExtentList>
+- multi_array& resize(const ExtentList& extents) {
++ multi_array& resize(const ExtentList& extents_arg) {
+ boost::function_requires<
+ detail::multi_array::CollectionConcept<ExtentList> >();
+
+@@ -390,7 +390,7 @@
+
+ for (int i=0; i != NumDims; ++i) {
+ typedef typename gen_type::range range_type;
+- ranges.ranges_[i] = range_type(0,extents[i]);
++ ranges.ranges_[i] = range_type(0,extents_arg[i]);
+ }
+
+ return this->resize(ranges);
+diff -ru boost.org/boost/property_tree/detail/json_parser/wide_encoding.hpp boost/boost/property_tree/detail/json_parser/wide_encoding.hpp
+--- foo/misc/boost.org/boost/property_tree/detail/json_parser/wide_encoding.hpp 2015-07-07 14:20:48.000000000 +0200
++++ foo/misc/boost/boost/property_tree/detail/json_parser/wide_encoding.hpp 2015-07-22 06:51:07.089598136 +0200
+@@ -104,7 +104,7 @@
+
+ template <typename Iterator, typename Sentinel, typename TranscodedFn,
+ typename EncodingErrorFn>
+- void transcode_codepoint(Iterator& cur, Sentinel end,
++ void transcode_codepoint(Iterator& cur, Sentinel,
+ TranscodedFn transcoded_fn,
+ EncodingErrorFn error_fn,
+ is_utf16<false>) const {
+@@ -117,7 +117,7 @@
+ }
+ template <typename Iterator, typename Sentinel, typename TranscodedFn,
+ typename EncodingErrorFn>
+- void transcode_codepoint(Iterator& cur, Sentinel end,
++ void transcode_codepoint(Iterator& cur, Sentinel,
+ TranscodedFn transcoded_fn,
+ EncodingErrorFn error_fn,
+ is_utf16<true>) const {
diff --git a/external/boost/boost_1_59_0.property_tree.wreturn-type.patch b/external/boost/boost_1_59_0.property_tree.wreturn-type.patch
new file mode 100644
index 000000000000..d795bd67fd15
--- /dev/null
+++ b/external/boost/boost_1_59_0.property_tree.wreturn-type.patch
@@ -0,0 +1,13 @@
+diff -ru boost.org/boost/property_tree/detail/json_parser/standard_callbacks.hpp boost/boost/property_tree/detail/json_parser/standard_callbacks.hpp
+--- foo/misc/boost.org/boost/property_tree/detail/json_parser/standard_callbacks.hpp 2015-07-07 14:20:48.000000000 +0200
++++ foo/misc/boost/boost/property_tree/detail/json_parser/standard_callbacks.hpp 2015-07-22 08:35:07.764263463 +0200
+@@ -128,7 +128,7 @@
+ stack.pop_back();
+ return new_tree();
+ }
+- assert(false);
++ std::abort();
+ }
+ string& new_value() {
+ if (stack.empty()) return new_tree().data();
+
diff --git a/external/boost/boost_1_59_0.property_tree.wshadow.patch b/external/boost/boost_1_59_0.property_tree.wshadow.patch
new file mode 100644
index 000000000000..8cd0b336f056
--- /dev/null
+++ b/external/boost/boost_1_59_0.property_tree.wshadow.patch
@@ -0,0 +1,83 @@
+diff -ru boost.orig/boost/property_tree/detail/json_parser/parser.hpp boost/boost/property_tree/detail/json_parser/parser.hpp
+--- foo/misc/boost.orig/boost/property_tree/detail/json_parser/parser.hpp 2015-07-07 14:20:48.000000000 +0200
++++ foo/misc/boost/boost/property_tree/detail/json_parser/parser.hpp 2015-07-19 12:36:35.481903821 +0200
+@@ -22,12 +22,12 @@
+ code_unit;
+ typedef bool (Encoding::*encoding_predicate)(code_unit c) const;
+
+- explicit source(Encoding& encoding) : encoding(encoding) {}
++ explicit source(Encoding& encoding_) : encoding(encoding_) {}
+
+ template <typename Range>
+- void set_input(const std::string& filename, const Range& r)
++ void set_input(const std::string& filename_, const Range& r)
+ {
+- this->filename = filename;
++ this->filename = filename_;
+ cur = r.begin();
+ end = r.end();
+ line = 1;
+@@ -107,9 +107,9 @@
+ class number_callback_adapter
+ {
+ public:
+- number_callback_adapter(Callbacks& callbacks, Encoding& encoding,
+- Iterator& cur)
+- : callbacks(callbacks), encoding(encoding), first(cur), cur(cur)
++ number_callback_adapter(Callbacks& callbacks_, Encoding& encoding_,
++ Iterator& cur_)
++ : callbacks(callbacks_), encoding(encoding_), first(cur_), cur(cur_)
+ {}
+
+ void operator ()(typename Encoding::external_char) {}
+@@ -132,9 +132,9 @@
+ std::input_iterator_tag>
+ {
+ public:
+- number_callback_adapter(Callbacks& callbacks, Encoding& encoding,
++ number_callback_adapter(Callbacks& callbacks_, Encoding& encoding_,
+ Iterator&)
+- : callbacks(callbacks), encoding(encoding), first(true)
++ : callbacks(callbacks_), encoding(encoding_), first(true)
+ {}
+
+ void operator ()(typename Encoding::external_char c) {
+@@ -162,10 +162,10 @@
+ class string_callback_adapter
+ {
+ public:
+- string_callback_adapter(Callbacks& callbacks, Encoding& encoding,
+- Iterator& cur)
+- : callbacks(callbacks), encoding(encoding), cur(cur),
+- run_begin(cur)
++ string_callback_adapter(Callbacks& callbacks_, Encoding& encoding_,
++ Iterator& cur_)
++ : callbacks(callbacks_), encoding(encoding_), cur(cur_),
++ run_begin(cur_)
+ {}
+
+ void start_run() {
+@@ -195,9 +195,9 @@
+ std::input_iterator_tag>
+ {
+ public:
+- string_callback_adapter(Callbacks& callbacks, Encoding& encoding,
+- Iterator& cur)
+- : callbacks(callbacks), encoding(encoding), cur(cur)
++ string_callback_adapter(Callbacks& callbacks_, Encoding& encoding_,
++ Iterator& cur_)
++ : callbacks(callbacks_), encoding(encoding_), cur(cur_)
+ {}
+
+ void start_run() {}
+@@ -232,8 +232,8 @@
+ typedef typename source::code_unit code_unit;
+
+ public:
+- parser(Callbacks& callbacks, Encoding& encoding)
+- : callbacks(callbacks), encoding(encoding), src(encoding)
++ parser(Callbacks& callbacks_, Encoding& encoding_)
++ : callbacks(callbacks_), encoding(encoding_), src(encoding_)
+ {}
+
+ template <typename Range>
diff --git a/external/boost/boost_1_59_0.property_tree.wtype-limits.patch b/external/boost/boost_1_59_0.property_tree.wtype-limits.patch
new file mode 100644
index 000000000000..d8426c3224b5
--- /dev/null
+++ b/external/boost/boost_1_59_0.property_tree.wtype-limits.patch
@@ -0,0 +1,19 @@
+This patch fixes the following warning, issued by GCC 4.8.1 20130909 compiler:
+
+In member function ‘char boost::property_tree::json_parser::detail::utf8_utf8_encoding::to_internal_trivial(char) const’:
+workdir/UnpackedTarball/boost/boost/property_tree/detail/json_parser/narrow_encoding.hpp:71:25: warning:
+comparison is always true due to limited range of data type [-Wtype-limits]
+ assert(c <= 0x7f);
+
+diff -ru boost.orig/boost/property_tree/detail/json_parser/narrow_encoding.hpp boost/boost/property_tree/detail/json_parser/narrow_encoding.hpp
+--- foo/misc/boost.orig/boost/property_tree/detail/json_parser/narrow_encoding.hpp 2015-07-07 14:20:48.000000000 +0200
++++ foo/misc/boost/boost/property_tree/detail/json_parser/narrow_encoding.hpp 2015-07-19 11:55:28.268931551 +0200
+@@ -68,7 +68,7 @@
+ }
+
+ char to_internal_trivial(char c) const {
+- assert(c <= 0x7f);
++ //assert(c <= 0x7f);
+ return c;
+ }
+
diff --git a/external/boost/boost_1_59_0.rational.wshadow.patch b/external/boost/boost_1_59_0.rational.wshadow.patch
new file mode 100644
index 000000000000..dcca867aede8
--- /dev/null
+++ b/external/boost/boost_1_59_0.rational.wshadow.patch
@@ -0,0 +1,12 @@
+diff -ru boost.orig/boost/rational.hpp boost/boost/rational.hpp
+--- foo/misc/boost.orig/boost/rational.hpp 2015-01-29 15:06:21.000000000 +0100
++++ foo/misc/boost/boost/rational.hpp 2015-07-19 12:45:44.193897654 +0200
+@@ -110,7 +110,7 @@
+ {
+ public:
+ explicit bad_rational() : std::domain_error("bad rational: zero denominator") {}
+- explicit bad_rational( char const *what ) : std::domain_error( what ) {}
++ explicit bad_rational( char const *what_ ) : std::domain_error( what_ ) {}
+ };
+
+ template <typename IntType>
diff --git a/external/boost/boost_1_59_0.signal2.wshadow.patch b/external/boost/boost_1_59_0.signal2.wshadow.patch
new file mode 100644
index 000000000000..1c13e940ebf3
--- /dev/null
+++ b/external/boost/boost_1_59_0.signal2.wshadow.patch
@@ -0,0 +1,63 @@
+diff -ru boost.orig/boost/signals2/connection.hpp boost/boost/signals2/connection.hpp
+--- foo/misc/boost.orig/boost/signals2/connection.hpp 2015-07-09 20:06:58.000000000 +0200
++++ foo/misc/boost/boost/signals2/connection.hpp 2015-07-19 21:54:54.491994554 +0200
+@@ -68,12 +68,12 @@
+ nolock_disconnect(local_lock);
+ }
+ template<typename Mutex>
+- void nolock_disconnect(garbage_collecting_lock<Mutex> &lock) const
++ void nolock_disconnect(garbage_collecting_lock<Mutex> &lock_) const
+ {
+ if(_connected)
+ {
+ _connected = false;
+- dec_slot_refcount(lock);
++ dec_slot_refcount(lock_);
+ }
+ }
+ virtual bool connected() const = 0;
+@@ -118,12 +118,12 @@
+ // shared_ptr to the slot in the garbage collecting lock,
+ // which will destroy the slot only after it unlocks.
+ template<typename Mutex>
+- void dec_slot_refcount(garbage_collecting_lock<Mutex> &lock) const
++ void dec_slot_refcount(garbage_collecting_lock<Mutex> &lock_arg) const
+ {
+ BOOST_ASSERT(m_slot_refcount != 0);
+ if(--m_slot_refcount == 0)
+ {
+- lock.add_trash(release_slot());
++ lock_arg.add_trash(release_slot());
+ }
+ }
+
+@@ -155,17 +155,17 @@
+ const GroupKey& group_key() const {return _group_key;}
+ void set_group_key(const GroupKey &key) {_group_key = key;}
+ template<typename M>
+- void disconnect_expired_slot(garbage_collecting_lock<M> &lock)
++ void disconnect_expired_slot(garbage_collecting_lock<M> &lock_arg)
+ {
+ if(!m_slot) return;
+ bool expired = slot().expired();
+ if(expired == true)
+ {
+- nolock_disconnect(lock);
++ nolock_disconnect(lock_arg);
+ }
+ }
+ template<typename M, typename OutputIterator>
+- void nolock_grab_tracked_objects(garbage_collecting_lock<M> &lock,
++ void nolock_grab_tracked_objects(garbage_collecting_lock<M> &lock_arg,
+ OutputIterator inserter) const
+ {
+ if(!m_slot) return;
+@@ -184,7 +184,7 @@
+ );
+ if(apply_visitor(detail::expired_weak_ptr_visitor(), *it))
+ {
+- nolock_disconnect(lock);
++ nolock_disconnect(lock_arg);
+ return;
+ }
+ *inserter++ = locked_object;
diff --git a/external/boost/boost_1_59_0.type_index.wshadow.patch b/external/boost/boost_1_59_0.type_index.wshadow.patch
new file mode 100644
index 000000000000..e9be9403bebc
--- /dev/null
+++ b/external/boost/boost_1_59_0.type_index.wshadow.patch
@@ -0,0 +1,15 @@
+diff -ru boost.orig/boost/type_index/type_index_facade.hpp boost/boost/type_index/type_index_facade.hpp
+--- foo/misc/boost.orig/boost/type_index/type_index_facade.hpp 2015-07-19 11:39:38.476942225 +0200
++++ foo/misc/boost/boost/type_index/type_index_facade.hpp 2015-07-19 11:41:13.032941163 +0200
+@@ -105,8 +105,8 @@
+ /// \return Hash code of a type. By default hashes types by raw_name().
+ /// \note <boost/functional/hash.hpp> has to be included if this function is used.
+ inline std::size_t hash_code() const BOOST_NOEXCEPT {
+- const char* const name = derived().raw_name();
+- return boost::hash_range(name, name + std::strlen(name));
++ const char* const name_ = derived().raw_name();
++ return boost::hash_range(name_, name_ + std::strlen(name_));
+ }
+
+ #if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
+
diff --git a/external/boost/boost_1_59_0.unique_ptr.wshadow.patch b/external/boost/boost_1_59_0.unique_ptr.wshadow.patch
new file mode 100644
index 000000000000..2121d0ded71a
--- /dev/null
+++ b/external/boost/boost_1_59_0.unique_ptr.wshadow.patch
@@ -0,0 +1,14 @@
+diff -ru boost.orig/boost/move/unique_ptr.hpp boost/boost/move/unique_ptr.hpp
+--- foo/misc/boost.orig/boost/move/unique_ptr.hpp 2015-07-19 13:02:01.788886667 +0200
++++ foo/misc/boost/boost/move/unique_ptr.hpp 2015-07-19 13:02:34.385886300 +0200
+@@ -105,8 +105,8 @@
+ {}
+
+ template <class U>
+- unique_ptr_data(P p, BOOST_FWD_REF(U) d) BOOST_NOEXCEPT
+- : m_p(p), d(::boost::forward<U>(d))
++ unique_ptr_data(P p, BOOST_FWD_REF(U) d_) BOOST_NOEXCEPT
++ : m_p(p), d(::boost::forward<U>(d_))
+ {}
+
+ del_ref deleter() { return d; }
diff --git a/external/boost/w4702.patch.0 b/external/boost/w4702.patch.0
deleted file mode 100644
index 74391fe6324d..000000000000
--- a/external/boost/w4702.patch.0
+++ /dev/null
@@ -1,10 +0,0 @@
---- boost/signals2/detail/variadic_slot_invoker.hpp
-+++ boost/signals2/detail/variadic_slot_invoker.hpp
-@@ -115,7 +115,6 @@
- const void_type *) const
- {
- return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args, mpl::size_t<sizeof...(Args)>());
-- return void_type();
- }
- template<typename ConnectionBodyType>
- result_type m_invoke(const ConnectionBodyType &connectionBody, ...) const