[pkg-boost-commits] r14717 - in boost/trunk/debian: . patches
Steven Michael Robbins
smr at alioth.debian.org
Sat May 5 05:32:25 UTC 2012
Author: smr
Date: 2012-05-05 05:32:24 +0000 (Sat, 05 May 2012)
New Revision: 14717
Added:
boost/trunk/debian/patches/gcc4.7_trac-6331.patch
boost/trunk/debian/patches/gcc4.7_trac-6431.patch
boost/trunk/debian/patches/gcc4.7_trac-6755.patch
boost/trunk/debian/patches/gcc4.7_trac-6790.patch
boost/trunk/debian/patches/gcc4.7_trac-6852.patch
boost/trunk/debian/patches/gcc4.7_trac-6854.patch
boost/trunk/debian/patches/gcc4.7_trac-76970.patch
Modified:
boost/trunk/debian/Notes
boost/trunk/debian/changelog
boost/trunk/debian/patches/series
Log:
Upstream fixes for GCC 4.7.
Modified: boost/trunk/debian/Notes
===================================================================
--- boost/trunk/debian/Notes 2012-03-30 12:24:14 UTC (rev 14716)
+++ boost/trunk/debian/Notes 2012-05-05 05:32:24 UTC (rev 14717)
@@ -1,3 +1,25 @@
+ GCC 4.7 Bugs
+ ------------
+
+Patches Included
+----------------
+https://svn.boost.org/trac/boost/ticket/6852
+https://svn.boost.org/trac/boost/ticket/6854
+https://svn.boost.org/trac/boost/ticket/6790
+https://svn.boost.org/trac/boost/ticket/6755
+https://svn.boost.org/trac/boost/changeset/76970
+https://svn.boost.org/trac/boost/ticket/6431
+https://svn.boost.org/trac/boost/ticket/6331
+
+No Patch
+--------
+https://svn.boost.org/trac/boost/ticket/6826 - failure to detect python3.2
+https://svn.boost.org/trac/boost/ticket/6825 - fibonacci_heap::s_handle_from_iterator
+https://svn.boost.org/trac/boost/ticket/6785 - read_json does not compile on GCC 4.7.0 with std=c++11
+https://svn.boost.org/trac/boost/ticket/6754 - [result_of] Test fails on clang trunk and gcc-4.7
+https://svn.boost.org/trac/boost/ticket/6620 - Boost Asio error with (unreleased) gcc 4.7 - monotonic / steady clock
+
+
Documentation
-------------
Modified: boost/trunk/debian/changelog
===================================================================
--- boost/trunk/debian/changelog 2012-03-30 12:24:14 UTC (rev 14716)
+++ boost/trunk/debian/changelog 2012-05-05 05:32:24 UTC (rev 14717)
@@ -1,3 +1,16 @@
+boost1.49 (1.49.0-3) unstable; urgency=low
+
+ * gcc4.7_trac-6790.patch:
+ * gcc4.7_trac-6854.patch:
+ * gcc4.7_trac-6755.patch:
+ * gcc4.7_trac-76970.patch:
+ * gcc4.7_trac-6331.patch:
+ * gcc4.7_trac-6431.patch:
+ * gcc4.7_trac-6852.patch: New. Fixes for gcc 4.7 from upstream.
+ Closes: #671409
+
+ -- Steve M. Robbins <smr at debian.org> Sat, 05 May 2012 00:31:50 -0500
+
boost1.49 (1.49.0-2) unstable; urgency=low
* control: Add missing -dev package Conflicts for: chrono, locale,
Added: boost/trunk/debian/patches/gcc4.7_trac-6331.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6331.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6331.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,42 @@
+Description: [Boost.Test] g++ compilation error due to ambiguity
+ Applied upstream changeset 76600 and additional change by t0rt1e@…
+Author: rogeeff, t0rt1e@…
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6331
+
+
+Index: boost/test/impl/exception_safety.ipp
+===================================================================
+--- a/boost/test/impl/exception_safety.ipp (revision 76599)
++++ b/boost/test/impl/exception_safety.ipp (revision 76600)
+@@ -51,10 +51,10 @@
+
+ namespace boost {
+
+-using namespace ::boost::unit_test;
+-
+ namespace itest {
+
++using namespace ::boost::unit_test;
++
+ // ************************************************************************** //
+ // ************** execution_path_point ************** //
+ // ************************************************************************** //
+
+Index: boost/test/impl/logged_expectations.ipp
+===================================================================
+--- a/boost/test/impl/logged_expectations.ipp (Revision 76602)
++++ b/boost/test/impl/logged_expectations.ipp (Arbeitskopie)
+@@ -40,10 +40,10 @@
+
+ namespace boost {
+
++namespace itest {
++
+ using namespace ::boost::unit_test;
+
+-namespace itest {
+-
+ // ************************************************************************** //
+ // ************** logged expectation test implementation ************** //
+ // ************************************************************************** //
Added: boost/trunk/debian/patches/gcc4.7_trac-6431.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6431.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6431.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,90 @@
+Description: MinGW: Cannot export (anonymous namespace)::thread_binder
+ Upstream changeset [76598].
+Author: viboes
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6431
+
+
+trunk/libs/thread/test/util.inl
+
+Index: trunk/libs/thread/test/util.inl
+===================================================================
+--- a/libs/thread/test/util.inl
++++ b/libs/thread/test/util.inl
+@@ -99,5 +99,7 @@
+ int secs;
+ };
+-
++}
++namespace thread_detail_anon
++{
+ template <typename F>
+ class indirect_adapter
+@@ -127,4 +129,9 @@
+ };
+
++}
++// boostinspect:nounnamed
++namespace
++{
++
+ template <typename F>
+ void timed_test(F func, int secs,
+@@ -132,5 +139,5 @@
+ {
+ execution_monitor monitor(type, secs);
+- indirect_adapter<F> ifunc(func, monitor);
++ thread_detail_anon::indirect_adapter<F> ifunc(func, monitor);
+ monitor.start();
+ boost::thread thrd(ifunc);
+@@ -139,4 +146,9 @@
+ }
+
++}
++
++namespace thread_detail_anon
++{
++
+ template <typename F, typename T>
+ class thread_binder
+@@ -152,9 +164,18 @@
+ };
+
++}
++
++// boostinspect:nounnamed
++namespace
++{
+ template <typename F, typename T>
+-thread_binder<F, T> bind(const F& func, const T& param)
+-{
+- return thread_binder<F, T>(func, param);
+-}
++thread_detail_anon::thread_binder<F, T> bind(const F& func, const T& param)
++{
++ return thread_detail_anon::thread_binder<F, T>(func, param);
++}
++}
++
++namespace thread_detail_anon
++{
+
+ template <typename R, typename T>
+@@ -173,9 +194,13 @@
+ };
+
+-
++}
++
++// boostinspect:nounnamed
++namespace
++{
+ template <typename R, typename T>
+-thread_member_binder<R, T> bind(R (T::*func)(), T& param)
+-{
+- return thread_member_binder<R, T>(func, param);
++thread_detail_anon::thread_member_binder<R, T> bind(R (T::*func)(), T& param)
++{
++ return thread_detail_anon::thread_member_binder<R, T>(func, param);
+ }
+ } // namespace
Added: boost/trunk/debian/patches/gcc4.7_trac-6755.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6755.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6755.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,61 @@
+Description: [result_of] Inconsistent results between function references and function pointers
+ For function references, decltype-based boost::result_of uses decltype to determine the type. But, for function pointers, decltype-based boost::result_of falls back to boost::tr1_result_of and does not use decltype.
+
+This inconsistency makes different results for function references and function pointers. On clang trunk and gcc-4.7 in a C++11 mode, for "typedef const int F();",
+
+ decltype-based boost::result_of<F&()> is int, but
+ decltype-based boost::result_of<F*()> is const int.
+
+To remove the inconsistency, decltype-based boost::result_of should use decltype for function pointers.
+
+Applied upstream patch https://svn.boost.org/trac/boost/changeset/77702
+
+Author: djwalker
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6755
+
+Index: boost/utility/detail/result_of_iterate.hpp
+===================================================================
+--- a/boost/utility/detail/result_of_iterate.hpp (revision 77701)
++++ b/boost/utility/detail/result_of_iterate.hpp (revision 77702)
+@@ -5,6 +5,11 @@
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ // http://www.boost.org/LICENSE_1_0.txt)
+
++// Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012.
++// Use, modification and distribution is subject to the Boost Software
++// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or
++// copy at http://www.boost.org/LICENSE_1_0.txt)
++
+ // For more information, see http://www.boost.org/libs/utility
+ #if !defined(BOOST_PP_IS_ITERATING)
+ # error Boost result_of - do not include this file!
+@@ -40,7 +45,7 @@
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
+ struct result_of<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
+ : mpl::if_<
+- mpl::or_< is_pointer<F>, is_member_function_pointer<F> >
++ is_member_function_pointer<F>
+ , detail::tr1_result_of_impl<
+ typename remove_cv<F>::type,
+ typename remove_cv<F>::type(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false
+Index: libs/utility/test/result_of_test.cpp
+===================================================================
+--- a/libs/utility/test/result_of_test.cpp (revision 77701)
++++ b/libs/utility/test/result_of_test.cpp (revision 77702)
+@@ -193,7 +193,6 @@
+ BOOST_STATIC_ASSERT((is_same<result_of<mem_func_ptr_v(X,char)>::type, int>::value));
+ BOOST_STATIC_ASSERT((is_same<result_of<mem_func_ptr_cv(X,char)>::type, int>::value));
+ BOOST_STATIC_ASSERT((is_same<result_of<mem_func_ptr_0(X)>::type, int>::value));
+- BOOST_STATIC_ASSERT((is_same<result_of<func_ptr(void)>::type, int>::value));
+
+ BOOST_STATIC_ASSERT((is_same<tr1_result_of<func_ptr(char, float)>::type, int>::value));
+ BOOST_STATIC_ASSERT((is_same<tr1_result_of<func_ref(char, float)>::type, int>::value));
+@@ -205,6 +204,7 @@
+ BOOST_STATIC_ASSERT((is_same<tr1_result_of<mem_func_ptr_cv(X,char)>::type, int>::value));
+ BOOST_STATIC_ASSERT((is_same<tr1_result_of<mem_func_ptr_0(X)>::type, int>::value));
+ BOOST_STATIC_ASSERT((is_same<tr1_result_of<func_ptr(void)>::type, int>::value));
++ BOOST_STATIC_ASSERT((is_same<tr1_result_of<func_ref(void)>::type, int>::value));
+
+ BOOST_STATIC_ASSERT((is_same<result_of<result_of_member_function_template(double)>::type, double>::value));
+ BOOST_STATIC_ASSERT((is_same<result_of<const result_of_member_function_template(double)>::type, const double>::value));
Added: boost/trunk/debian/patches/gcc4.7_trac-6790.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6790.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6790.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,21 @@
+Description: program_options regression in 1.49.0?
+ Since 1.49, bitcoin unable to compile with error [...]
+ Steps to avoid error:
+
+ Error can be avoided by removing #if around #include <.../convert.hpp> in /usr/include/boost/program_options/detail/config_file.hpp
+Author: Konstantin Nikiforov
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6790
+
+--- a/boost/program_options/detail/config_file.hpp 2012-03-30 01:14:58.000000000 -0500
++++ b/boost/program_options/detail/config_file.hpp 2012-05-04 19:13:53.120697282 -0500
+@@ -17,9 +17,7 @@
+ #include <boost/program_options/eof_iterator.hpp>
+
+ #include <boost/detail/workaround.hpp>
+-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))
+ #include <boost/program_options/detail/convert.hpp>
+-#endif
+
+ #if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
+ #include <istream> // std::getline
Added: boost/trunk/debian/patches/gcc4.7_trac-6852.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6852.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6852.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,38 @@
+Description: lexical_cast: warning: ISO C++ does not support the '%lg' gnu_printf format
+ The following code produces a warning if compiled with GCC (4.7.0) and -Wall -std=c++98 -pedantic:
+
+include <boost/lexical_cast.hpp>
+
+int main()
+{
+ boost::lexical_cast<std::string>(double(4.2));
+ return 0;
+}
+Patch adapted from upstream changeset 78308
+
+Author: peter
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6852
+
+
+--- a/boost/lexical_cast.hpp 2012-02-04 12:04:45.000000000 -0600
++++ b/boost/lexical_cast.hpp 2012-05-04 21:32:04.535330135 -0500
+@@ -1286,7 +1286,8 @@
+ bool shl_float(float val,T* out)
+ { using namespace std;
+ if (put_inf_nan(start,finish,val)) return true;
+- finish = start + sprintf(out,"%.*g", static_cast<int>(boost::detail::lcast_get_precision<float >()), val );
++ const double val_as_double = val;
++ finish = start + sprintf(out,"%.*g", static_cast<int>(boost::detail::lcast_get_precision<float >()), val_as_double );
+ return finish > start;
+ }
+
+@@ -1294,7 +1295,7 @@
+ bool shl_double(double val,T* out)
+ { using namespace std;
+ if (put_inf_nan(start,finish,val)) return true;
+- finish = start + sprintf(out,"%.*lg", static_cast<int>(boost::detail::lcast_get_precision<double >()), val );
++ finish = start + sprintf(out,"%.*g", static_cast<int>(boost::detail::lcast_get_precision<double >()), val );
+ return finish > start;
+ }
+ #ifndef __MINGW32__
Added: boost/trunk/debian/patches/gcc4.7_trac-6854.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-6854.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-6854.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,31 @@
+Description: boost/random/detail/integer_log2.hpp:71:35: warning: always_inline function might not be inlinable
+ When compiled with GCC 4.7.0, boost/random/detail/integer_log2.hpp triggers a warning:
+
+#include <boost/random/mersenne_twister.hpp>
+
+int main() { return 0; }
+
+In file included from boost_1_49_0/include/boost/random/detail/large_arithmetic.hpp:19:0,
+ from boost_1_49_0/include/boost/random/detail/const_mod.hpp:23,
+ from boost_1_49_0/include/boost/random/detail/seed_impl.hpp:27,
+ from boost_1_49_0/include/boost/random/mersenne_twister.hpp:29,
+ from /tmp/always_inline.cpp:1:
+boost_1_49_0/include/boost/random/detail/integer_log2.hpp:71:35: warning: always_inline function might not be inlinable [-Wattributes]
+
+Author: peter@…
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/ticket/6854
+
+
+
+--- boost_1_49_0.orig/boost/random/detail/integer_log2.hpp
++++ boost_1_49_0/boost/random/detail/integer_log2.hpp
+@@ -27,7 +27,7 @@
+ #elif defined(BOOST_MSVC)
+ #define BOOST_RANDOM_DETAIL_CONSTEXPR __forceinline
+ #elif defined(__GNUC__) && __GNUC__ >= 4
+-#define BOOST_RANDOM_DETAIL_CONSTEXPR __attribute__((const)) __attribute__((always_inline))
++#define BOOST_RANDOM_DETAIL_CONSTEXPR inline __attribute__((const)) __attribute__((always_inline))
+ #else
+ #define BOOST_RANDOM_DETAIL_CONSTEXPR inline
+ #endif
Added: boost/trunk/debian/patches/gcc4.7_trac-76970.patch
===================================================================
--- boost/trunk/debian/patches/gcc4.7_trac-76970.patch (rev 0)
+++ boost/trunk/debian/patches/gcc4.7_trac-76970.patch 2012-05-05 05:32:24 UTC (rev 14717)
@@ -0,0 +1,41 @@
+Description: Unordered: Use C++11 allocator_traits with gcc 4.7.
+ Upstream changeset 76970.
+Author: danieljames
+Bug: 671409
+Forwarded: https://svn.boost.org/trac/boost/changeset/76970
+
+trunk/boost/unordered/detail/allocator_helpers.hpp
+
+Index: trunk/boost/unordered/detail/allocator_helpers.hpp
+===================================================================
+--- a/boost/unordered/detail/allocator_helpers.hpp
++++ b/boost/unordered/detail/allocator_helpers.hpp
+@@ -28,5 +28,12 @@
+
+ #if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
+-#define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
++# if defined(__GXX_EXPERIMENTAL_CXX0X__) && \
++ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
++# define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 1
++# endif
++#endif
++
++#if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
++# define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
+ #endif
+
+
+TabularUnified trunk/libs/unordered/test/unordered/allocator_traits.cpp
+
+Index: trunk/libs/unordered/test/unordered/allocator_traits.cpp
+===================================================================
+--- a/libs/unordered/test/unordered/allocator_traits.cpp
++++ b/libs/unordered/test/unordered/allocator_traits.cpp
+@@ -133,5 +133,5 @@
+ std::make_unsigned<std::ptrdiff_t>::type>));
+ #else
+- BOOST_MPL_ASSERT((boost::is_same<traits::size_type, std::size_t>));
++ BOOST_MPL_ASSERT((boost::is_same<typename traits::size_type, std::size_t>));
+ #endif
+ BOOST_MPL_ASSERT((boost::is_same<traits::difference_type, std::ptrdiff_t>));
+
Modified: boost/trunk/debian/patches/series
===================================================================
--- boost/trunk/debian/patches/series 2012-03-30 12:24:14 UTC (rev 14716)
+++ boost/trunk/debian/patches/series 2012-05-05 05:32:24 UTC (rev 14717)
@@ -3,3 +3,10 @@
boost-1.44-py3.1.patch
pythonid.patch
mpi-allocator-c++0x.patch
+gcc4.7_trac-6852.patch
+gcc4.7_trac-6854.patch
+gcc4.7_trac-6790.patch
+gcc4.7_trac-6755.patch
+gcc4.7_trac-76970.patch
+gcc4.7_trac-6431.patch
+gcc4.7_trac-6331.patch
More information about the pkg-boost-commits
mailing list