mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-29 19:07: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)...);
|
||||
}
|
||||
|
||||
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>
|
||||
using add_lvalue_reference_t =
|
||||
typename std::add_lvalue_reference<T>::type;
|
||||
@ -1089,8 +1082,10 @@ namespace boost {
|
||||
{
|
||||
using list = boost::mp11::mp_remove<boost::mp11::mp_list<Args...>,
|
||||
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,
|
||||
|
Reference in New Issue
Block a user