Some minor tweaks to C++17 and C++2a components * include/std/any (any::any(ValueType&&)): Use __and_v. * include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)): Likewise.
Tested powerpc64le-linux, committed to trunk.
commit b31d88f0da87ad6d07f012deb51756a5ade7883a Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed Apr 24 17:06:08 2019 +0100 Use __and_v<...> instead of __and_<...>::value * include/std/any (any::any(ValueType&&)): Use __and_v. * include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)): Likewise. diff --git a/libstdc++-v3/include/std/any b/libstdc++-v3/include/std/any index 29fe03e2b82..8cbabdddd9b 100644 --- a/libstdc++-v3/include/std/any +++ b/libstdc++-v3/include/std/any @@ -189,9 +189,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// Construct with a copy of @p __value as the contained object. template <typename _ValueType, typename _Tp = _Decay<_ValueType>, typename _Mgr = _Manager<_Tp>, - enable_if_t<__and_<is_copy_constructible<_Tp>, - __not_<is_constructible<_Tp, _ValueType&&>>, - __not_<__is_in_place_type<_Tp>>>::value, + enable_if_t<__and_v<is_copy_constructible<_Tp>, + __not_<is_constructible<_Tp, _ValueType&&>>, + __not_<__is_in_place_type<_Tp>>>, bool> = false> any(_ValueType&& __value) : _M_manager(&_Mgr::_S_manage) diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index ffd9eae9691..4858ad1aea3 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -162,8 +162,8 @@ namespace __detail template<typename _Tp> constexpr - enable_if_t<__and_<is_arithmetic<_Tp>, is_same<remove_cv_t<_Tp>, _Tp>, - __not_<is_same<_Tp, bool>>>::value, + enable_if_t<__and_v<is_arithmetic<_Tp>, is_same<remove_cv_t<_Tp>, _Tp>, + __not_<is_same<_Tp, bool>>>, _Tp> midpoint(_Tp __a, _Tp __b) noexcept { @@ -192,8 +192,7 @@ template<typename _Tp> template<typename _Tp> constexpr - enable_if_t<__and_<is_object<_Tp>, bool_constant<sizeof(_Tp) != 0>>::value, - _Tp*> + enable_if_t<__and_v<is_object<_Tp>, bool_constant<sizeof(_Tp) != 0>>, _Tp*> midpoint(_Tp* __a, _Tp* __b) noexcept { return __a > __b ? __b + (__a - __b) / 2 : __a + (__b - __a) / 2;