mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 03:17:15 +02:00
Workaround Segfault of Clang 3.8
Clang 3.8 segfaults during name mangling of `make_index_seq`. Hence replace it by using type aliases.
This commit is contained in:
@ -1070,13 +1070,6 @@ namespace boost {
|
|||||||
boost::get<Is>(tuple)...);
|
boost::get<Is>(tuple)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class... Args>
|
|
||||||
boost::mp11::index_sequence_for<Args...> make_index_seq(
|
|
||||||
boost::mp11::mp_list<Args...>)
|
|
||||||
{
|
|
||||||
return boost::mp11::index_sequence_for<Args...>{};
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
using add_lvalue_reference_t =
|
using add_lvalue_reference_t =
|
||||||
typename std::add_lvalue_reference<T>::type;
|
typename std::add_lvalue_reference<T>::type;
|
||||||
@ -1089,8 +1082,10 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
using list = boost::mp11::mp_remove<boost::mp11::mp_list<Args...>,
|
using list = boost::mp11::mp_remove<boost::mp11::mp_list<Args...>,
|
||||||
boost::tuples::null_type>;
|
boost::tuples::null_type>;
|
||||||
|
using list_size = boost::mp11::mp_size<list>;
|
||||||
|
using index_seq = boost::mp11::make_index_sequence<list_size::value>;
|
||||||
|
|
||||||
return to_std_tuple_impl(list{}, tuple, make_index_seq(list{}));
|
return to_std_tuple_impl(list{}, tuple, index_seq{});
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Alloc, typename A, typename B, typename A0,
|
template <typename Alloc, typename A, typename B, typename A0,
|
||||||
|
Reference in New Issue
Block a user