Fix boost::signals2::signal on LLVM
This commit is contained in:
parent
cda0485c62
commit
5be51286f9
2 changed files with 69 additions and 1 deletions
59
boost-1.53.0-signals2-std_get_llvm.patch
Normal file
59
boost-1.53.0-signals2-std_get_llvm.patch
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
Index: /trunk/boost/signals2/detail/variadic_slot_invoker.hpp
|
||||
===================================================================
|
||||
--- /trunk/boost/signals2/detail/variadic_slot_invoker.hpp (revision 78502)
|
||||
+++ /trunk/boost/signals2/detail/variadic_slot_invoker.hpp (revision 83041)
|
||||
@@ -16,4 +16,5 @@
|
||||
#define BOOST_SIGNALS2_DETAIL_VARIADIC_SLOT_INVOKER_HPP
|
||||
|
||||
+#include <boost/mpl/size_t.hpp>
|
||||
#include <boost/signals2/detail/variadic_arg_type.hpp>
|
||||
|
||||
@@ -23,7 +24,9 @@
|
||||
#include <boost/tuple/tuple.hpp>
|
||||
#define BOOST_SIGNALS2_TUPLE boost::tuple
|
||||
+#define BOOST_SIGNALS2_GET boost::get
|
||||
#else
|
||||
#include <tuple>
|
||||
#define BOOST_SIGNALS2_TUPLE std::tuple
|
||||
+#define BOOST_SIGNALS2_GET std::get
|
||||
#endif
|
||||
|
||||
@@ -71,8 +74,8 @@
|
||||
typedef R result_type;
|
||||
|
||||
- template<typename Func, typename ... Args>
|
||||
- R operator()(Func &func, BOOST_SIGNALS2_TUPLE<Args...> args) const
|
||||
+ template<typename Func, typename ... Args, std::size_t N>
|
||||
+ R operator()(Func &func, BOOST_SIGNALS2_TUPLE<Args...> args, mpl::size_t<N>) const
|
||||
{
|
||||
- typedef typename make_unsigned_meta_array<sizeof...(Args)>::type indices_type;
|
||||
+ typedef typename make_unsigned_meta_array<N>::type indices_type;
|
||||
typename Func::result_type *resolver = 0;
|
||||
return m_invoke(resolver, func, indices_type(), args);
|
||||
@@ -82,10 +85,10 @@
|
||||
R m_invoke(T *, Func &func, unsigned_meta_array<indices...>, BOOST_SIGNALS2_TUPLE<Args...> args) const
|
||||
{
|
||||
- return func(std::get<indices>(args)...);
|
||||
+ return func(BOOST_SIGNALS2_GET<indices>(args)...);
|
||||
}
|
||||
template<typename Func, unsigned ... indices, typename ... Args>
|
||||
R m_invoke(void *, Func &func, unsigned_meta_array<indices...>, BOOST_SIGNALS2_TUPLE<Args...> args) const
|
||||
{
|
||||
- func(std::get<indices>(args)...);
|
||||
+ func(BOOST_SIGNALS2_GET<indices>(args)...);
|
||||
return R();
|
||||
}
|
||||
@@ -112,5 +115,5 @@
|
||||
const void_type *) const
|
||||
{
|
||||
- return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
|
||||
+ return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args, mpl::size_t<sizeof...(Args)>());
|
||||
return void_type();
|
||||
}
|
||||
@@ -118,5 +121,5 @@
|
||||
result_type m_invoke(const ConnectionBodyType &connectionBody, ...) const
|
||||
{
|
||||
- return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
|
||||
+ return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args, mpl::size_t<sizeof...(Args)>());
|
||||
}
|
||||
BOOST_SIGNALS2_TUPLE<Args& ...> _args;
|
||||
11
boost.spec
11
boost.spec
|
|
@ -34,7 +34,7 @@ Name: boost
|
|||
Summary: The free peer-reviewed portable C++ source libraries
|
||||
Version: 1.53.0
|
||||
%define version_enc 1_53_0
|
||||
Release: 11%{?dist}
|
||||
Release: 12%{?dist}
|
||||
License: Boost and MIT and Python
|
||||
|
||||
%define toplev_dirname %{name}_%{version_enc}
|
||||
|
|
@ -189,6 +189,10 @@ Patch48: boost-1.54.0-mpi-unused_typedef.patch
|
|||
# https://svn.boost.org/trac/boost/ticket/8888
|
||||
Patch49: boost-1.54.0-python-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8102
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=999320
|
||||
Patch50: boost-1.53.0-signals2-std_get_llvm.patch
|
||||
|
||||
%bcond_with tests
|
||||
%bcond_with docs_generated
|
||||
|
||||
|
|
@ -668,6 +672,7 @@ a number of significant features and is now developed independently
|
|||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p2
|
||||
|
||||
# At least python2_version needs to be a macro so that it's visible in
|
||||
# %%install as well.
|
||||
|
|
@ -1239,6 +1244,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_mandir}/man1/bjam.1*
|
||||
|
||||
%changelog
|
||||
* Wed Aug 21 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-12
|
||||
- Fix boost::signals2::signal on LLVM
|
||||
(boost-1.53.0-signals2-std_get_llvm.patch)
|
||||
|
||||
* Fri Jul 26 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-11
|
||||
- Add Obsoletes for odeint (bug 892850)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue