diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits index 8fdf4a4939d1..15e9df2ea269 100644 --- a/libcxx/include/type_traits +++ b/libcxx/include/type_traits @@ -852,18 +852,6 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_integral_v // is_floating_point -#if __has_keyword(__is_floating_point) - -template -struct _LIBCPP_TEMPLATE_VIS is_floating_point : _BoolConstant<__is_floating_point(_Tp)> { }; - -#if _LIBCPP_STD_VER > 14 -template -_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_floating_point_v = __is_floating_point(_Tp); -#endif - -#else - template struct __libcpp_is_floating_point : public false_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; @@ -878,8 +866,6 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_floating_point_v = is_floating_point<_Tp>::value; #endif -#endif // __has_keyword(__is_floating_point) - // is_array #if __has_keyword(__is_array) @@ -1192,17 +1178,6 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_enum_v // is_arithmetic -#if __has_keyword(__is_arithmetic) - -template -struct _LIBCPP_TEMPLATE_VIS is_arithmetic : _BoolConstant<__is_arithmetic(_Tp)> { }; - -#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template -_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_arithmetic_v = __is_arithmetic(_Tp); -#endif - -#else // __has_keyword(__is_arithmetic) template struct _LIBCPP_TEMPLATE_VIS is_arithmetic : public integral_constant::value || @@ -1214,8 +1189,6 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_arithmetic_v = is_arithmetic<_Tp>::value; #endif -#endif // __has_keyword(__is_arithmetic) - // is_fundamental // In clang 9 and lower, this builtin did not work for nullptr_t. Additionally, in C++03 mode,