From 255051da37ab2f733c156434c2b2357dfbbffc76 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 23 Jul 2013 02:09:25 +0200 Subject: [PATCH] Flush more work in progress - This adds some forgotten patches from the last time around (context-execstack, mpl-print) - And adds another bunch of unused local typedef patches --- boost-1.53.0-fpclassify-unused_typedef.patch | 80 +++++++++++ boost-1.53.0-graph-unused_typedef.patch | 130 ++++++++++++++++++ ...t-1.53.0-lexical_cast-unused_typedef.patch | 13 ++ boost-1.53.0-math-unused_typedef-3.patch | 46 +++++++ boost-1.53.0-regex-unused_typedef.patch | 65 +++++++++ boost-1.54.0-algorithm-unused_typedef.patch | 43 ++++++ boost-1.54.0-context-execstack.patch | 109 +++++++++++++++ boost-1.54.0-date_time-unused_typedef-2.patch | 13 ++ boost-1.54.0-locale-unused_typedef.patch | 11 ++ boost-1.54.0-mpi-unused_typedef.patch | 11 ++ boost-1.54.0-mpl-print.patch | 37 +++++ ...-1.54.0-property_tree-unused_typedef.patch | 19 +++ boost-1.54.0-spirit-unused_typedef-2.patch | 22 +++ boost-1.54.0-unordered-unused_typedef.patch | 14 ++ boost-1.54.0-xpressive-unused_typedef.patch | 11 ++ boost.spec | 72 ++++++++-- 16 files changed, 686 insertions(+), 10 deletions(-) create mode 100644 boost-1.53.0-fpclassify-unused_typedef.patch create mode 100644 boost-1.53.0-graph-unused_typedef.patch create mode 100644 boost-1.53.0-lexical_cast-unused_typedef.patch create mode 100644 boost-1.53.0-math-unused_typedef-3.patch create mode 100644 boost-1.53.0-regex-unused_typedef.patch create mode 100644 boost-1.54.0-algorithm-unused_typedef.patch create mode 100644 boost-1.54.0-context-execstack.patch create mode 100644 boost-1.54.0-date_time-unused_typedef-2.patch create mode 100644 boost-1.54.0-locale-unused_typedef.patch create mode 100644 boost-1.54.0-mpi-unused_typedef.patch create mode 100644 boost-1.54.0-mpl-print.patch create mode 100644 boost-1.54.0-property_tree-unused_typedef.patch create mode 100644 boost-1.54.0-spirit-unused_typedef-2.patch create mode 100644 boost-1.54.0-unordered-unused_typedef.patch create mode 100644 boost-1.54.0-xpressive-unused_typedef.patch diff --git a/boost-1.53.0-fpclassify-unused_typedef.patch b/boost-1.53.0-fpclassify-unused_typedef.patch new file mode 100644 index 0000000..dddd3a8 --- /dev/null +++ b/boost-1.53.0-fpclassify-unused_typedef.patch @@ -0,0 +1,80 @@ +diff -up boost_1_53_0/boost/math/special_functions/sign.hpp\~ boost_1_53_0/boost/math/special_functions/sign.hpp +--- boost_1_53_0/boost/math/special_functions/sign.hpp~ 2011-05-17 14:19:17.000000000 +0200 ++++ boost_1_53_0/boost/math/special_functions/sign.hpp 2013-07-22 23:24:39.751342557 +0200 +@@ -110,7 +110,6 @@ template int (signbit)(T x) + { + typedef typename detail::fp_traits::type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + return detail::signbit_impl(x, method()); + } + +@@ -124,7 +123,6 @@ template T (changesign)(const T + { //!< \brief return unchanged binary pattern of x, except for change of sign bit. + typedef typename detail::fp_traits::sign_change_type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + + return detail::changesign_impl(x, method()); + } +diff -up boost_1_53_0/boost/math/special_functions/fpclassify.hpp~ boost_1_53_0/boost/math/special_functions/fpclassify.hpp +--- boost_1_53_0/boost/math/special_functions/fpclassify.hpp~ 2012-12-12 19:17:22.000000000 +0100 ++++ boost_1_53_0/boost/math/special_functions/fpclassify.hpp 2013-07-22 12:07:59.478713488 +0200 +@@ -327,7 +327,6 @@ inline bool (isfinite)(T x) + { //!< \brief return true if floating-point type t is finite. + typedef typename detail::fp_traits::type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + typedef typename tools::promote_args::type value_type; + return detail::isfinite_impl(static_cast(x), method()); + } +@@ -338,7 +338,6 @@ inline bool (isfinite)(long double x) + { //!< \brief return true if floating-point type t is finite. + typedef detail::fp_traits::type traits; + typedef traits::method method; +- typedef boost::is_floating_point::type fp_tag; + typedef long double value_type; + return detail::isfinite_impl(static_cast(x), method()); + } +@@ -398,7 +397,6 @@ inline bool (isnormal)(T x) + { + typedef typename detail::fp_traits::type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + typedef typename tools::promote_args::type value_type; + return detail::isnormal_impl(static_cast(x), method()); + } +@@ -409,7 +408,6 @@ inline bool (isnormal)(long double x) + { + typedef detail::fp_traits::type traits; + typedef traits::method method; +- typedef boost::is_floating_point::type fp_tag; + typedef long double value_type; + return detail::isnormal_impl(static_cast(x), method()); + } +@@ -487,7 +485,6 @@ inline bool (isinf)(T x) + { + typedef typename detail::fp_traits::type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + typedef typename tools::promote_args::type value_type; + return detail::isinf_impl(static_cast(x), method()); + } +@@ -498,7 +496,6 @@ inline bool (isinf)(long double x) + { + typedef detail::fp_traits::type traits; + typedef traits::method method; +- typedef boost::is_floating_point::type fp_tag; + typedef long double value_type; + return detail::isinf_impl(static_cast(x), method()); + } +@@ -570,7 +567,6 @@ inline bool (isnan)(T x) + { //!< \brief return true if floating-point type t is NaN (Not A Number). + typedef typename detail::fp_traits::type traits; + typedef typename traits::method method; +- typedef typename boost::is_floating_point::type fp_tag; + return detail::isnan_impl(x, method()); + } + + +Diff finished. Mon Jul 22 12:09:24 2013 diff --git a/boost-1.53.0-graph-unused_typedef.patch b/boost-1.53.0-graph-unused_typedef.patch new file mode 100644 index 0000000..697714f --- /dev/null +++ b/boost-1.53.0-graph-unused_typedef.patch @@ -0,0 +1,130 @@ +diff -urp boost_1_54_0-orig/boost/graph/breadth_first_search.hpp boost_1_54_0/boost/graph/breadth_first_search.hpp +--- boost_1_54_0-orig/boost/graph/breadth_first_search.hpp 2013-07-23 00:47:43.418886551 +0200 ++++ boost_1_54_0/boost/graph/breadth_first_search.hpp 2013-07-23 00:50:40.339958756 +0200 +@@ -64,7 +64,6 @@ namespace boost { + BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept )); + typedef graph_traits GTraits; + typedef typename GTraits::vertex_descriptor Vertex; +- typedef typename GTraits::edge_descriptor Edge; + BOOST_CONCEPT_ASSERT(( BFSVisitorConcept )); + BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept )); + typedef typename property_traits::value_type ColorValue; +diff -urp boost_1_53_0-orig/boost/graph/compressed_sparse_row_graph.hpp boost_1_53_0/boost/graph/compressed_sparse_row_graph.hpp +--- boost_1_53_0-orig/boost/graph/compressed_sparse_row_graph.hpp 2013-07-23 01:32:19.273266030 +0200 ++++ boost_1_53_0/boost/graph/compressed_sparse_row_graph.hpp 2013-07-23 01:34:15.202970721 +0200 +@@ -642,8 +642,6 @@ class compressed_sparse_row_graph::vertex_descriptor vertex_t; +- typedef typename boost::graph_traits::vertices_size_type vertex_num; +- typedef typename boost::graph_traits::edges_size_type edge_num; + typedef std::vector > edge_vector_t; + edge_vector_t new_edges(first, last); + if (new_edges.empty()) return; +@@ -666,8 +664,6 @@ class compressed_sparse_row_graph::vertex_descriptor vertex_t; +- typedef typename boost::graph_traits::vertices_size_type vertex_num; +- typedef typename boost::graph_traits::edges_size_type edge_num; + typedef std::pair vertex_pair; + typedef std::vector< + boost::tuple + in_edges(Vertex v, const BOOST_BIDIR_CSR_GRAPH_TYPE& g) + { +- typedef typename BOOST_BIDIR_CSR_GRAPH_TYPE::edge_descriptor ed; + typedef typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator it; + EdgeIndex v_row_start = g.m_backward.m_rowstart[v]; + EdgeIndex next_row_start = g.m_backward.m_rowstart[v + 1]; +@@ -1368,7 +1363,6 @@ put(Tag tag, + typename property_map::key_type k, + typename lookup_one_property::plist_type, Tag>::type val) { + typedef typename property_map::all_tag all_tag; +- typedef typename property_map::type outer_pm; + lookup_one_property::plist_type, Tag>::lookup(get(all_tag(), g, k), tag) = val; + } + +diff -urp boost_1_53_0-orig/boost/graph/detail/adjacency_list.hpp boost_1_53_0/boost/graph/detail/adjacency_list.hpp +--- boost_1_53_0-orig/boost/graph/detail/adjacency_list.hpp 2013-07-23 01:32:19.390266741 +0200 ++++ boost_1_53_0/boost/graph/detail/adjacency_list.hpp 2013-07-23 01:34:15.275971164 +0200 +@@ -634,7 +634,6 @@ namespace boost { + directed_graph_helper& g_) + { + typedef typename Config::graph_type graph_type; +- typedef typename Config::edge_parallel_category Cat; + graph_type& g = static_cast(g_); + g.out_edge_list(u).clear(); + // clear() should be a req of Sequence and AssociativeContainer, +@@ -781,7 +780,6 @@ namespace boost { + typedef typename Graph::global_edgelist_selector EdgeListS; + BOOST_STATIC_ASSERT((!is_same::value)); + +- typedef typename EdgeList::value_type StoredEdge; + typename EdgeList::iterator i = el.begin(), end = el.end(); + for (; i != end; ++i) { + if ((*i).get_target() == v) { +@@ -986,7 +984,6 @@ namespace boost { + BOOST_STATIC_ASSERT((!is_same::value)); + + typedef typename Config::graph_type graph_type; +- typedef typename Config::edge_parallel_category Cat; + graph_type& g = static_cast(g_); + while (true) { + typename Config::out_edge_iterator ei, ei_end; +@@ -1588,7 +1585,6 @@ namespace boost { + typedef typename Config::graph_type Graph; + typedef typename Config::StoredEdge StoredEdge; + const Graph& cg = static_cast(g_); +- typedef typename Config::out_edge_iterator out_edge_iterator; + const typename Config::OutEdgeList& el = cg.out_edge_list(u); + typename Config::OutEdgeList::const_iterator it = graph_detail:: + find(el, StoredEdge(v)); +diff -urp boost_1_53_0-orig/boost/graph/detail/compressed_sparse_row_struct.hpp boost_1_53_0/boost/graph/detail/compressed_sparse_row_struct.hpp +--- boost_1_53_0-orig/boost/graph/detail/compressed_sparse_row_struct.hpp 2013-07-23 01:32:19.395266772 +0200 ++++ boost_1_53_0/boost/graph/detail/compressed_sparse_row_struct.hpp 2013-07-23 01:34:15.278971182 +0200 +@@ -218,8 +218,6 @@ namespace detail { + // the user has supplied the number of edges. + edges_size_type numedges = numedges_or_zero; + if (numedges == 0) { +- typedef typename std::iterator_traits::iterator_category +- category; + numedges = boost::graph::detail::reserve_count_for_single_pass(edge_begin, edge_end); + } + m_column.clear(); +@@ -313,7 +311,6 @@ namespace detail { + inherited_edge_properties::resize(numedges); + EdgeIndex current_edge = 0; + typedef typename boost::graph_traits::vertex_descriptor g_vertex; +- typedef typename boost::graph_traits::edge_descriptor g_edge; + typedef typename boost::graph_traits::out_edge_iterator + g_out_edge_iter; + +@@ -347,7 +344,6 @@ namespace detail { + // Flip sequence + BidirectionalIterator first(last_sorted); + BidirectionalIterator last(first_sorted); +- typedef Vertex vertex_t; + typedef Vertex vertex_num; + typedef EdgeIndex edge_num; + edge_num new_edge_count = std::distance(first, last); +diff -urp boost_1_53_0-orig/boost/graph/detail/histogram_sort.hpp boost_1_53_0/boost/graph/detail/histogram_sort.hpp +--- boost_1_53_0-orig/boost/graph/detail/histogram_sort.hpp 2013-07-23 01:32:19.364266583 +0200 ++++ boost_1_53_0/boost/graph/detail/histogram_sort.hpp 2013-07-23 01:34:15.279971188 +0200 +@@ -159,7 +159,6 @@ histogram_sort_inplace(KeyIterator key_b + Value1Iter values1, + KeyTransform key_transform) { + +- typedef NumKeys vertices_size_type; + typedef typename std::iterator_traits::value_type EdgeIndex; + + // 1. Copy m_rowstart (except last element) to get insert positions +@@ -194,7 +193,6 @@ histogram_sort_inplace(KeyIterator key_b + Value2Iter values2, + KeyTransform key_transform) { + +- typedef NumKeys vertices_size_type; + typedef typename std::iterator_traits::value_type EdgeIndex; + + // 1. Copy m_rowstart (except last element) to get insert positions diff --git a/boost-1.53.0-lexical_cast-unused_typedef.patch b/boost-1.53.0-lexical_cast-unused_typedef.patch new file mode 100644 index 0000000..a93c0ee --- /dev/null +++ b/boost-1.53.0-lexical_cast-unused_typedef.patch @@ -0,0 +1,13 @@ +diff -up boost_1_53_0/boost/lexical_cast.hpp\~ boost_1_53_0/boost/lexical_cast.hpp +--- boost_1_53_0/boost/lexical_cast.hpp~ 2012-12-29 15:41:23.000000000 +0100 ++++ boost_1_53_0/boost/lexical_cast.hpp 2013-07-22 23:27:48.841566845 +0200 +@@ -865,7 +865,6 @@ namespace boost { + #ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); + #endif +- typedef typename Traits::int_type int_type; + CharT const czero = lcast_char_constants::zero; + --end; + value = 0; + +Diff finished. Mon Jul 22 23:28:02 2013 diff --git a/boost-1.53.0-math-unused_typedef-3.patch b/boost-1.53.0-math-unused_typedef-3.patch new file mode 100644 index 0000000..f8b4854 --- /dev/null +++ b/boost-1.53.0-math-unused_typedef-3.patch @@ -0,0 +1,46 @@ +diff -urp boost_1_53_0-orig/boost/math/special_functions/detail/igamma_inverse.hpp boost_1_53_0/boost/math/special_functions/detail/igamma_inverse.hpp +--- boost_1_53_0-orig/boost/math/special_functions/detail/igamma_inverse.hpp 2013-07-23 01:32:21.874281840 +0200 ++++ boost_1_53_0/boost/math/special_functions/detail/igamma_inverse.hpp 2013-07-23 01:34:15.291971260 +0200 +@@ -341,7 +341,6 @@ struct gamma_p_inverse_func + // flag is set, then Q(x) - q and it's derivatives. + // + typedef typename policies::evaluation::type value_type; +- typedef typename lanczos::lanczos::type evaluation_type; + typedef typename policies::normalise< + Policy, + policies::promote_float, +diff -urp boost_1_53_0-orig/boost/math/special_functions/gamma.hpp boost_1_53_0/boost/math/special_functions/gamma.hpp +--- boost_1_53_0-orig/boost/math/special_functions/gamma.hpp 2013-07-23 01:32:21.824281537 +0200 ++++ boost_1_53_0/boost/math/special_functions/gamma.hpp 2013-07-23 01:34:15.322971451 +0200 +@@ -1360,7 +1360,6 @@ inline typename tools::promote_args::type result_type; + typedef typename policies::evaluation::type value_type; +- typedef typename lanczos::lanczos::type evaluation_type; + typedef typename policies::normalise< + Policy, + policies::promote_float, +@@ -1489,7 +1488,6 @@ inline typename tools::promote_args::type result_type; + typedef typename policies::evaluation::type value_type; +- typedef typename lanczos::lanczos::type evaluation_type; + typedef typename policies::normalise< + Policy, + policies::promote_float, +@@ -1520,7 +1518,6 @@ inline typename tools::promote_args::type result_type; + typedef typename policies::evaluation::type value_type; +- typedef typename lanczos::lanczos::type evaluation_type; + typedef typename policies::normalise< + Policy, + policies::promote_float, +@@ -1551,7 +1548,6 @@ inline typename tools::promote_args::type result_type; + typedef typename policies::evaluation::type value_type; +- typedef typename lanczos::lanczos::type evaluation_type; + typedef typename policies::normalise< + Policy, + policies::promote_float, diff --git a/boost-1.53.0-regex-unused_typedef.patch b/boost-1.53.0-regex-unused_typedef.patch new file mode 100644 index 0000000..d10b476 --- /dev/null +++ b/boost-1.53.0-regex-unused_typedef.patch @@ -0,0 +1,65 @@ +diff -up ./boost/regex/icu.hpp~ ./boost/regex/icu.hpp +--- ./boost/regex/icu.hpp~ 2011-10-16 14:19:37.000000000 +0200 ++++ ./boost/regex/icu.hpp 2013-07-22 23:32:44.346321967 +0200 +@@ -423,7 +423,6 @@ bool do_regex_match(BidiIterator first, + { + typedef u16_to_u32_iterator conv_type; + typedef match_results match_type; +- typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); + // copy results across to m: +@@ -439,7 +438,6 @@ bool do_regex_match(BidiIterator first, + { + typedef u8_to_u32_iterator conv_type; + typedef match_results match_type; +- typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); + // copy results across to m: +@@ -598,7 +596,6 @@ bool do_regex_search(BidiIterator first, + { + typedef u16_to_u32_iterator conv_type; + typedef match_results match_type; +- typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); + // copy results across to m: +@@ -615,7 +612,6 @@ bool do_regex_search(BidiIterator first, + { + typedef u8_to_u32_iterator conv_type; + typedef match_results match_type; +- typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); + // copy results across to m: +diff -up ./boost/regex/v4/regex_format.hpp~ ./boost/regex/v4/regex_format.hpp +--- ./boost/regex/v4/regex_format.hpp~ 2012-05-24 12:03:48.000000000 +0200 ++++ ./boost/regex/v4/regex_format.hpp 2013-07-22 23:31:06.466740621 +0200 +@@ -1064,7 +1064,6 @@ struct format_functor_c_string + template + OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits()) + { +- typedef typename Match::char_type char_type; + const charT* end = func; + while(*end) ++end; + return regex_format_imp(i, m, func, end, f, t); +@@ -1083,7 +1082,6 @@ struct format_functor_container + template + OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits()) + { +- typedef typename Match::char_type char_type; + return re_detail::regex_format_imp(i, m, func.begin(), func.end(), f, t); + } + private: +diff -up ./boost/regex/v4/regex_split.hpp~ ./boost/regex/v4/regex_split.hpp +--- ./boost/regex/v4/regex_split.hpp~ 2007-11-25 19:07:19.000000000 +0100 ++++ ./boost/regex/v4/regex_split.hpp 2013-07-22 23:31:29.098875039 +0200 +@@ -107,7 +107,6 @@ std::size_t regex_split(OutputIterator o + std::size_t max_split) + { + typedef typename std::basic_string::const_iterator ci_t; +- typedef typename match_results::allocator_type match_allocator; + ci_t last = s.begin(); + std::size_t init_size = max_split; + re_detail::split_pred pred(&last, &out, &max_split); diff --git a/boost-1.54.0-algorithm-unused_typedef.patch b/boost-1.54.0-algorithm-unused_typedef.patch new file mode 100644 index 0000000..6bc8fe1 --- /dev/null +++ b/boost-1.54.0-algorithm-unused_typedef.patch @@ -0,0 +1,43 @@ +diff -urp boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp boost_1_54_0/boost/algorithm/string/detail/finder.hpp +--- boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:47:43.933889672 +0200 ++++ boost_1_54_0/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:50:40.324958667 +0200 +@@ -142,7 +142,6 @@ namespace boost { + ForwardIteratorT End, + std::forward_iterator_tag ) const + { +- typedef ForwardIteratorT input_iterator_type; + typedef iterator_range result_type; + + first_finder_type first_finder( +@@ -263,7 +262,6 @@ namespace boost { + ForwardIteratorT End, + unsigned int N) const + { +- typedef ForwardIteratorT input_iterator_type; + typedef iterator_range result_type; + + // Sanity check +@@ -298,7 +296,6 @@ namespace boost { + ForwardIteratorT End, + unsigned int N) const + { +- typedef ForwardIteratorT input_iterator_type; + typedef iterator_range result_type; + + // Sanity check +@@ -362,7 +359,6 @@ namespace boost { + unsigned int N, + std::random_access_iterator_tag ) + { +- typedef ForwardIteratorT input_iterator_type; + typedef iterator_range result_type; + + if ( (End<=Begin) || ( static_cast(End-Begin) < N ) ) +@@ -436,7 +432,6 @@ namespace boost { + unsigned int N, + std::random_access_iterator_tag ) + { +- typedef ForwardIteratorT input_iterator_type; + typedef iterator_range result_type; + + if ( (End<=Begin) || ( static_cast(End-Begin) < N ) ) diff --git a/boost-1.54.0-context-execstack.patch b/boost-1.54.0-context-execstack.patch new file mode 100644 index 0000000..4513ae8 --- /dev/null +++ b/boost-1.54.0-context-execstack.patch @@ -0,0 +1,109 @@ +diff -up boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ 2012-12-21 02:22:09.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S 2013-07-15 11:11:46.772543152 -0700 +@@ -71,3 +71,6 @@ jump_fcontext: + @ and as first arg in context function + ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC + .size jump_fcontext,.-jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700 ++++ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S 2013-07-15 11:10:32.829144835 -0700 +@@ -70,3 +70,6 @@ jump_fcontext: + + jmp *%edx /* indirect jump to context */ + .size jump_fcontext,.-jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S 2013-07-15 11:10:57.848279687 -0700 +@@ -178,3 +178,6 @@ jump_fcontext: + + bctr # jump to context + .size jump_fcontext, .-jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S 2013-07-15 11:11:07.189330597 -0700 +@@ -199,3 +199,6 @@ jump_fcontext: + + bctr # jump to context + .size .jump_fcontext, .-.jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700 ++++ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S 2013-07-15 11:09:49.724912924 -0700 +@@ -80,3 +80,6 @@ jump_fcontext: + + jmp *%rcx /* indirect jump to context */ + .size jump_fcontext,.-jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S~ 2013-01-15 01:51:39.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S 2013-07-15 11:11:38.626499289 -0700 +@@ -74,3 +74,6 @@ finish: + mov a1, #0 @ exit code is zero + bl _exit@PLT @ exit application + .size make_fcontext,.-make_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S~ 2013-06-07 08:38:10.000000000 -0700 ++++ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S 2013-07-15 11:10:40.333185226 -0700 +@@ -75,3 +75,6 @@ finish: + call _exit@PLT /* exit application */ + hlt + .size make_fcontext,.-make_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S 2013-07-15 11:12:34.392799546 -0700 +@@ -83,3 +83,6 @@ finish: + jalr $t9 # exit application + .end make_fcontext + .size make_fcontext, .-make_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700 ++++ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-07-15 11:11:20.247400344 -0700 +@@ -108,3 +108,6 @@ finish: + bl _exit@plt # exit application + .long 0 # We should never get here, so SIGILL if we do + .size make_fcontext, .-make_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700 ++++ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-07-15 11:11:13.400363259 -0700 +@@ -130,3 +130,6 @@ finish: + nop # nop is required by the linker + .long 0 # We should never get here, so SIGILL if we do + .size .make_fcontext, .-.make_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits +diff -up boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S +--- boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ 2012-11-29 23:38:52.000000000 -0800 ++++ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S 2013-07-15 11:10:06.151001366 -0700 +@@ -72,3 +72,5 @@ finish: + hlt + .size make_fcontext,.-make_fcontext + ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",@progbits diff --git a/boost-1.54.0-date_time-unused_typedef-2.patch b/boost-1.54.0-date_time-unused_typedef-2.patch new file mode 100644 index 0000000..b39abe5 --- /dev/null +++ b/boost-1.54.0-date_time-unused_typedef-2.patch @@ -0,0 +1,13 @@ +diff -up boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp\~ boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp +--- boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp~ 2008-11-23 12:13:35.000000000 +0100 ++++ boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp 2013-07-22 23:44:42.834012788 +0200 +@@ -215,7 +215,6 @@ namespace gregorian { + { + std::istream_iterator, charT> beg(is), eos; + +- typedef boost::date_time::all_date_names_put facet_def; + d = from_stream(beg, eos); + return is; + } + +Diff finished. Mon Jul 22 23:44:50 2013 diff --git a/boost-1.54.0-locale-unused_typedef.patch b/boost-1.54.0-locale-unused_typedef.patch new file mode 100644 index 0000000..b7c9128 --- /dev/null +++ b/boost-1.54.0-locale-unused_typedef.patch @@ -0,0 +1,11 @@ +diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp +--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200 ++++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200 +@@ -27,7 +27,6 @@ namespace boundary { + int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end) + { + typedef LeftIterator left_iterator; +- typedef RightIterator right_iterator; + typedef typename std::iterator_traits::value_type char_type; + typedef std::char_traits traits; + while(l_begin!=l_end && r_begin!=r_end) { diff --git a/boost-1.54.0-mpi-unused_typedef.patch b/boost-1.54.0-mpi-unused_typedef.patch new file mode 100644 index 0000000..3a01d61 --- /dev/null +++ b/boost-1.54.0-mpi-unused_typedef.patch @@ -0,0 +1,11 @@ +diff -urp boost_1_54_0-orig/libs/mpi/src/communicator.cpp boost_1_54_0/libs/mpi/src/communicator.cpp +--- boost_1_54_0-orig/libs/mpi/src/communicator.cpp 2013-07-23 00:48:17.317091987 +0200 ++++ boost_1_54_0/libs/mpi/src/communicator.cpp 2013-07-23 00:50:40.722961078 +0200 +@@ -118,7 +118,6 @@ optional communicator::iprobe(in + + status communicator::probe(int source, int tag) const + { +- typedef optional result_type; + + status stat; + BOOST_MPI_CHECK_RESULT(MPI_Probe, diff --git a/boost-1.54.0-mpl-print.patch b/boost-1.54.0-mpl-print.patch new file mode 100644 index 0000000..6c27b14 --- /dev/null +++ b/boost-1.54.0-mpl-print.patch @@ -0,0 +1,37 @@ +Index: boost/mpl/print.hpp +=================================================================== +--- boost/mpl/print.hpp (revision 83411) ++++ boost/mpl/print.hpp (working copy) +@@ -45,22 +45,21 @@ + : mpl::identity + #if defined(__MWERKS__) + , aux::print_base +-#endif ++#endif + { + #if defined(BOOST_MSVC) + enum { n = sizeof(T) + -1 }; + #elif defined(__MWERKS__) + void f(int); +-#else +- enum { +- n = +-# if defined(__EDG_VERSION__) +- aux::dependent_unsigned::value > -1 +-# else +- sizeof(T) > -1 +-# endif +- }; +-#endif ++#elif defined(__EDG_VERSION__) ++ enum { n = aux::dependent_unsigned::value > -1 }; ++#elif defined(BOOST_GCC) ++ enum { n1 }; ++ enum { n2 }; ++ enum { n = n1 != n2 }; ++#else ++ enum { n = sizeof(T) > -1 }; ++#endif + }; + + #if defined(BOOST_MSVC) diff --git a/boost-1.54.0-property_tree-unused_typedef.patch b/boost-1.54.0-property_tree-unused_typedef.patch new file mode 100644 index 0000000..05158ef --- /dev/null +++ b/boost-1.54.0-property_tree-unused_typedef.patch @@ -0,0 +1,19 @@ +diff -urp boost_1_54_0-orig/boost/property_tree/detail/xml_parser_write.hpp boost_1_54_0/boost/property_tree/detail/xml_parser_write.hpp +--- boost_1_54_0-orig/boost/property_tree/detail/xml_parser_write.hpp 2013-07-23 00:47:43.731888449 +0200 ++++ boost_1_54_0/boost/property_tree/detail/xml_parser_write.hpp 2013-07-23 00:50:40.597960319 +0200 +@@ -35,7 +35,6 @@ namespace boost { namespace property_tre + const xml_writer_settings & settings + ) + { +- typedef typename std::basic_string Str; + if (separate_line) + write_xml_indent(stream,indent,settings); + stream << Ch('<') << Ch('!') << Ch('-') << Ch('-'); +@@ -69,7 +68,6 @@ namespace boost { namespace property_tre + { + + typedef typename Ptree::key_type::value_type Ch; +- typedef typename std::basic_string Str; + typedef typename Ptree::const_iterator It; + + bool want_pretty = settings.indent_count > 0; diff --git a/boost-1.54.0-spirit-unused_typedef-2.patch b/boost-1.54.0-spirit-unused_typedef-2.patch new file mode 100644 index 0000000..fdc9849 --- /dev/null +++ b/boost-1.54.0-spirit-unused_typedef-2.patch @@ -0,0 +1,22 @@ +diff -urp boost_1_54_0-orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp boost_1_54_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp +--- boost_1_54_0-orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2013-07-23 00:47:37.497850668 +0200 ++++ boost_1_54_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2013-07-23 00:50:40.662960713 +0200 +@@ -307,7 +307,6 @@ struct grammar_definition + #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE) + typedef impl::grammar_helper_base helper_base_t; + typedef grammar_helper_list helper_list_t; +- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; + + helper_list_t& helpers = + # if !defined(__GNUC__) || (__GNUC__ > 2) +diff -urp boost_1_54_0-orig/boost/spirit/home/classic/tree/parse_tree.hpp boost_1_54_0/boost/spirit/home/classic/tree/parse_tree.hpp +--- boost_1_54_0-orig/boost/spirit/home/classic/tree/parse_tree.hpp 2013-07-23 00:47:37.407850122 +0200 ++++ boost_1_54_0/boost/spirit/home/classic/tree/parse_tree.hpp 2013-07-23 00:50:40.674960786 +0200 +@@ -76,7 +76,6 @@ struct pt_tree_policy : + template + static void concat(MatchAT& a, MatchBT const& b) + { +- typedef typename match_t::attr_t attr_t; + BOOST_SPIRIT_ASSERT(a && b); + + std::copy(b.trees.begin(), b.trees.end(), diff --git a/boost-1.54.0-unordered-unused_typedef.patch b/boost-1.54.0-unordered-unused_typedef.patch new file mode 100644 index 0000000..27e900a --- /dev/null +++ b/boost-1.54.0-unordered-unused_typedef.patch @@ -0,0 +1,14 @@ +diff -up boost_1_54_0/boost/unordered/detail/unique.hpp\~ boost_1_54_0/boost/unordered/detail/unique.hpp +--- boost_1_54_0/boost/unordered/detail/unique.hpp~ 2012-12-05 23:06:57.000000000 +0100 ++++ boost_1_54_0/boost/unordered/detail/unique.hpp 2013-07-22 23:54:29.222516306 +0200 +@@ -334,8 +334,6 @@ namespace boost { namespace unordered { + + value_type& operator[](key_type const& k) + { +- typedef typename value_type::second_type mapped_type; +- + std::size_t key_hash = this->hash(k); + iterator pos = this->find_node(key_hash, k); + + +Diff finished. Mon Jul 22 23:55:15 2013 diff --git a/boost-1.54.0-xpressive-unused_typedef.patch b/boost-1.54.0-xpressive-unused_typedef.patch new file mode 100644 index 0000000..60a4f5a --- /dev/null +++ b/boost-1.54.0-xpressive-unused_typedef.patch @@ -0,0 +1,11 @@ +diff -urp boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp boost_1_54_0/boost/xpressive/regex_algorithms.hpp +--- boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:47:50.804931313 +0200 ++++ boost_1_54_0/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:50:40.721961072 +0200 +@@ -303,7 +303,6 @@ namespace detail + ) + { + typedef core_access access; +- typedef typename iterator_value::type char_type; + match_results &what = *state.context_.results_ptr_; + BOOST_ASSERT(0 != re.regex_id()); + diff --git a/boost.spec b/boost.spec index 741b26f..9e74228 100644 --- a/boost.spec +++ b/boost.spec @@ -138,24 +138,52 @@ Patch26: boost-1.54.0-static_warning-unused_typedef.patch Patch27: boost-1.54.0-math-unused_typedef.patch Patch28: boost-1.54.0-math-unused_typedef-2.patch Patch29: boost-1.53.0-fpclassify-unused_typedef.patch +Patch30: boost-1.53.0-math-unused_typedef-3.patch # https://svn.boost.org/trac/boost/ticket/8853 -Patch30: boost-1.54.0-tuple-unused_typedef.patch +Patch31: boost-1.54.0-tuple-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8854 -Patch31: boost-1.54.0-random-unused_typedef.patch +Patch32: boost-1.54.0-random-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8856 -Patch32: boost-1.54.0-date_time-unused_typedef.patch +Patch33: boost-1.54.0-date_time-unused_typedef.patch +Patch34: boost-1.54.0-date_time-unused_typedef-2.patch # https://svn.boost.org/trac/boost/ticket/8870 -Patch33: boost-1.54.0-spirit-unused_typedef.patch +Patch35: boost-1.54.0-spirit-unused_typedef.patch +Patch36: boost-1.54.0-spirit-unused_typedef-2.patch # https://svn.boost.org/trac/boost/ticket/8871 -Patch34: boost-1.54.0-numeric-unused_typedef.patch +Patch37: boost-1.54.0-numeric-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8872 -Patch35: boost-1.54.0-multiprecision-unused_typedef.patch +Patch38: boost-1.54.0-multiprecision-unused_typedef.patch + +# Backported from 1.54.0: +Patch39: boost-1.53.0-lexical_cast-unused_typedef.patch +Patch40: boost-1.53.0-regex-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8874 +Patch41: boost-1.54.0-unordered-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8876 +Patch42: boost-1.54.0-algorithm-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8877 +Patch43: boost-1.53.0-graph-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8878 +Patch44: boost-1.54.0-locale-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8879 +Patch45: boost-1.54.0-property_tree-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8880 +Patch46: boost-1.54.0-xpressive-unused_typedef.patch + +# https://svn.boost.org/trac/boost/ticket/8881 +Patch47: boost-1.54.0-mpi-unused_typedef.patch %bcond_with tests %bcond_with docs_generated @@ -574,12 +602,24 @@ a number of significant features and is now developed independently %patch27 -p1 %patch28 -p0 %patch29 -p1 -%patch30 -p0 +%patch30 -p1 %patch31 -p0 %patch32 -p0 -%patch33 -p1 +%patch33 -p0 %patch34 -p1 %patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1154,7 +1194,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Jul 19 2013 Petr Machata - 1.53.0-8 - Install supporting files (images etc.) for documentation (courtesy Marcel Metz, bug 985593) -- Add several patches for silencing unused local typedef warnings +- Add many patches for silencing unused local typedef warnings (boost-1.53.0-static_assert-unused_typedef.patch, boost-1.54.0-bind-static_assert.patch, boost-1.54.0-concept-unused_typedef.patch, @@ -1162,12 +1202,24 @@ rm -rf $RPM_BUILD_ROOT boost-1.54.0-math-unused_typedef.patch, boost-1.54.0-math-unused_typedef-2.patch, boost-1.53.0-fpclassify-unused_typedef.patch, + boost-1.54.0-math-unused_typedef-3.patch, boost-1.54.0-tuple-unused_typedef.patch, boost-1.54.0-random-unused_typedef.patch, boost-1.54.0-date_time-unused_typedef.patch, + boost-1.54.0-date_time-unused_typedef-2.patch, boost-1.54.0-spirit-unused_typedef.patch, + boost-1.54.0-spirit-unused_typedef-2.patch, boost-1.54.0-numeric-unused_typedef.patch, - boost-1.54.0-multiprecision-unused_typedef.patch) + boost-1.54.0-multiprecision-unused_typedef.patch, + boost-1.53.0-lexical_cast-unused_typedef.patch, + boost-1.53.0-regex-unused_typedef.patch, + boost-1.54.0-unordered-unused_typedef.patch, + boost-1.54.0-algorithm-unused_typedef.patch, + boost-1.53.0-graph-unused_typedef.patch, + boost-1.54.0-locale-unused_typedef.patch, + boost-1.54.0-property_tree-unused_typedef.patch, + boost-1.54.0-xpressive-unused_typedef.patch, + boost-1.54.0-mpi-unused_typedef.patch) - Add a patch to turn off execstack in Boost.Context (boost-1.54.0-context-execstack.patch) - Fix boost::mpl::print on GCC (boost-1.54.0-mpl-print.patch)