From 33d41acb4318bd395f6b57ddc14ab27767ca06aa Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Sat, 15 May 2010 19:13:45 +0000 Subject: main/boost: moved from testing abiword needs it --- .../boost-1.41.0-parameter-needs-python.patch | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 main/boost/boost-1.41.0-parameter-needs-python.patch (limited to 'main/boost/boost-1.41.0-parameter-needs-python.patch') diff --git a/main/boost/boost-1.41.0-parameter-needs-python.patch b/main/boost/boost-1.41.0-parameter-needs-python.patch new file mode 100644 index 0000000000..016995fccc --- /dev/null +++ b/main/boost/boost-1.41.0-parameter-needs-python.patch @@ -0,0 +1,106 @@ +--- a/boost/parameter/aux_/maybe.hpp 2008-03-22 21:45:55.000000000 +0000 ++++ b/boost/parameter/aux_/maybe.hpp.new 2009-10-22 03:55:24.000000000 +0000 +@@ -2,20 +2,41 @@ + // 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) + +-#ifndef BOOST_PARAMETER_MAYBE_060211_HPP +-# define BOOST_PARAMETER_MAYBE_060211_HPP ++// ++// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage ++// ++#ifndef BOOST_PARAMETER_MAYBE_091021_HPP ++# define BOOST_PARAMETER_MAYBE_091021_HPP + + # include + # include + # include + # include + # include +-# include ++# include + # include + # include + + namespace boost { namespace parameter { namespace aux { + ++template struct referent_size; ++ ++template ++struct referent_size ++{ ++ BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T)); ++}; ++ ++// A metafunction returning a POD type which can store U, where T == ++// U&. If T is not a reference type, returns a POD which can store T. ++template ++struct referent_storage ++{ ++ typedef typename boost::aligned_storage< ++ referent_size::value ++ >::type type; ++}; ++ + struct maybe_base {}; + + template +@@ -33,8 +54,8 @@ + BOOST_DEDUCED_TYPENAME remove_reference::type + >::type non_cv_value; + +- explicit maybe(T value) +- : value(value) ++ explicit maybe(T value_) ++ : value(value_) + , constructed(false) + {} + +@@ -48,28 +69,28 @@ + this->destroy(); + } + +- reference construct(reference value) const ++ reference construct(reference value_) const + { +- return value; ++ return value_; + } + + template +- reference construct2(U const& value) const ++ reference construct2(U const& value_) const + { +- new (m_storage.bytes) non_cv_value(value); ++ new (m_storage.address()) non_cv_value(value_); + constructed = true; +- return *(non_cv_value*)m_storage.bytes; ++ return *(non_cv_value*)m_storage.address(); + } + + template +- reference construct(U const& value) const ++ reference construct(U const& value_) const + { +- return this->construct2(value); ++ return this->construct2(value_); + } + + void destroy() + { +- ((non_cv_value*)m_storage.bytes)->~non_cv_value(); ++ ((non_cv_value*)m_storage.address())->~non_cv_value(); + } + + typedef reference(maybe::*safe_bool)() const; +@@ -87,7 +108,9 @@ + private: + boost::optional value; + mutable bool constructed; +- mutable typename boost::python::detail::referent_storage< ++ ++ ++ mutable typename referent_storage< + reference + >::type m_storage; + }; -- cgit v1.2.3