science/pulseview: unbreak with boost 1.68 on FreeBSD 10.*

After https://github.com/boostorg/multiprecision/commit/3cedeeab3048
building with Clang 3.4.1 fails like the following:

In file included from pv/views/trace/view.cpp:26:
In file included from /usr/include/c++/v1/algorithm:628:
In file included from /usr/include/c++/v1/memory:607:
/usr/include/c++/v1/tuple:187:73: error: reference to type 'const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0>' requires an initializer
             _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) : value()
                                                                        ^
/usr/include/c++/v1/type_traits:2359:44: note: in instantiation of member function 'std::__1::__tuple_leaf<1, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>::__tuple_leaf' requested here
typename __select_2nd<decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...))), true_type>::type
                                           ^
/usr/include/c++/v1/type_traits:2360:1: note: while substituting deduced template arguments into function template '__is_constructible_test' [with _Tp = std::__1::__tuple_leaf<1, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>, _Args = <>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/include/c++/v1/type_traits:2419:14: note: in instantiation of template class 'std::__1::__libcpp_is_constructible<false, std::__1::__tuple_leaf<1, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public __libcpp_is_constructible<is_scalar<_Tp>::value || is_reference<_Tp>::value,
             ^
/usr/include/c++/v1/type_traits:2445:14: note: in instantiation of template class 'std::__1::__is_constructible_void_check<false, std::__1::__tuple_leaf<1, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value
             ^
/usr/include/c++/v1/type_traits:2653:14: note: in instantiation of template class 'std::__1::is_constructible<std::__1::__tuple_leaf<1, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public is_constructible<_Tp>
             ^
/usr/local/include/boost/multiprecision/number.hpp:645:119: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
   template <class T, class = typename boost::disable_if_c<std::is_constructible<T, self_type const&>::value || !std::is_default_constructible<T>::value, T>::type>
                                                                                                                      ^
/usr/include/c++/v1/tuple:882:12: note: in instantiation of function template specialization 'std::__1::tuple<pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString &&>::tuple<pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString, false>' requested here
    return tuple<_Tp&&...>(_VSTD::forward<_Tp>(__t)...);
           ^
/usr/include/c++/v1/memory:3705:27: note: in instantiation of function template specialization 'std::__1::forward_as_tuple<pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString>' requested here
                   _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)) {}
                          ^
/usr/include/c++/v1/memory:4280:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<pv::views::trace::Flag, std::__1::allocator<pv::views::trace::Flag> >::__shared_ptr_emplace<pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString>' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4644:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<pv::views::trace::Flag>::make_shared<pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
pv/views/trace/view.cpp:641:19: note: in instantiation of function template specialization 'std::__1::make_shared<pv::views::trace::Flag, pv::views::trace::View &, const boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, QString>' requested here
        flags_.push_back(make_shared<Flag>(*this, time,
                         ^
In file included from pv/views/trace/view.cpp:26:
In file included from /usr/include/c++/v1/algorithm:628:
In file included from /usr/include/c++/v1/memory:607:
/usr/include/c++/v1/tuple:188:9: error: static_assert failed "Attempted to default construct a reference element in a tuple"
       {static_assert(!is_reference<_Hp>::value,
        ^             ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/tuple:187:73: error: reference to type 'boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0>' requires an initializer
             _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) : value()
                                                                        ^
/usr/include/c++/v1/type_traits:2359:44: note: in instantiation of member function 'std::__1::__tuple_leaf<1, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>::__tuple_leaf' requested here
typename __select_2nd<decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...))), true_type>::type
                                           ^
/usr/include/c++/v1/type_traits:2360:1: note: while substituting deduced template arguments into function template '__is_constructible_test' [with _Tp = std::__1::__tuple_leaf<1, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>, _Args = <>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/include/c++/v1/type_traits:2419:14: note: in instantiation of template class 'std::__1::__libcpp_is_constructible<false, std::__1::__tuple_leaf<1, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public __libcpp_is_constructible<is_scalar<_Tp>::value || is_reference<_Tp>::value,
             ^
/usr/include/c++/v1/type_traits:2445:14: note: in instantiation of template class 'std::__1::__is_constructible_void_check<false, std::__1::__tuple_leaf<1, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value
             ^
/usr/include/c++/v1/type_traits:2653:14: note: in instantiation of template class 'std::__1::is_constructible<std::__1::__tuple_leaf<1, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &, false>>' requested here
    : public is_constructible<_Tp>
             ^
/usr/local/include/boost/multiprecision/number.hpp:645:119: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
   template <class T, class = typename boost::disable_if_c<std::is_constructible<T, self_type const&>::value || !std::is_default_constructible<T>::value, T>::type>
                                                                                                                      ^
/usr/include/c++/v1/tuple:882:12: note: in instantiation of member function 'std::__1::tuple<pv::views::trace::View &, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &>::tuple' requested here
    return tuple<_Tp&&...>(_VSTD::forward<_Tp>(__t)...);
           ^
/usr/include/c++/v1/memory:3705:27: note: in instantiation of function template specialization 'std::__1::forward_as_tuple<pv::views::trace::View &, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &>' requested here
                   _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)) {}
                          ^
/usr/include/c++/v1/memory:4280:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<pv::views::trace::TriggerMarker, std::__1::allocator<pv::views::trace::TriggerMarker> >::__shared_ptr_emplace<pv::views::trace::View &, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &>' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4644:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<pv::views::trace::TriggerMarker>::make_shared<pv::views::trace::View &, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
pv/views/trace/view.cpp:696:29: note: in instantiation of function template specialization 'std::__1::make_shared<pv::views::trace::TriggerMarker, pv::views::trace::View &, boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<24, int, void>, 0> &>' requested here
        trigger_markers_.push_back(make_shared<TriggerMarker>(*this, location));
                                   ^
In file included from pv/views/trace/view.cpp:26:
In file included from /usr/include/c++/v1/algorithm:628:
In file included from /usr/include/c++/v1/memory:607:
/usr/include/c++/v1/tuple:188:9: error: static_assert failed "Attempted to default construct a reference element in a tuple"
       {static_assert(!is_reference<_Hp>::value,
        ^             ~~~~~~~~~~~~~~~~~~~~~~~~~

PR:		229569
This commit is contained in:
Jan Beich 2018-07-12 23:21:47 +00:00
parent 1a6d6be05a
commit 283441d697
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=474542

View file

@ -17,7 +17,7 @@ LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libsigrok.so:devel/libsigrok \
libsigrokdecode.so:devel/libsigrokdecode
USES= cmake desktop-file-utils pkgconfig qt:5
USES= cmake compiler:c++14-lang desktop-file-utils pkgconfig qt:5
USE_GNOME= glibmm glib20 libsigc++20
USE_QT= buildtools core gui qmake_build svg widgets
CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH=${MANPREFIX}/man \