From 37c6c95cffe3f454f589527b36d8d6ec187fb0cd Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Tue, 3 Jun 2025 09:44:50 +0200 Subject: [PATCH] [libc++][NFC] Move __libcpp_is_integral into the else branch --- libcxx/include/__type_traits/is_integral.h | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libcxx/include/__type_traits/is_integral.h b/libcxx/include/__type_traits/is_integral.h index 7f7ac26beb770..5a340965f0384 100644 --- a/libcxx/include/__type_traits/is_integral.h +++ b/libcxx/include/__type_traits/is_integral.h @@ -19,6 +19,18 @@ _LIBCPP_BEGIN_NAMESPACE_STD +#if __has_builtin(__is_integral) + +template +struct _LIBCPP_NO_SPECIALIZATIONS is_integral : _BoolConstant<__is_integral(_Tp)> {}; + +# if _LIBCPP_STD_VER >= 17 +template +_LIBCPP_NO_SPECIALIZATIONS inline constexpr bool is_integral_v = __is_integral(_Tp); +# endif + +#else + // clang-format off template struct __libcpp_is_integral { enum { value = 0 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; @@ -47,18 +59,6 @@ template <> struct __libcpp_is_integral<__uint128_t> { enum { va #endif // clang-format on -#if __has_builtin(__is_integral) - -template -struct _LIBCPP_NO_SPECIALIZATIONS is_integral : _BoolConstant<__is_integral(_Tp)> {}; - -# if _LIBCPP_STD_VER >= 17 -template -_LIBCPP_NO_SPECIALIZATIONS inline constexpr bool is_integral_v = __is_integral(_Tp); -# endif - -#else - template struct is_integral : public _BoolConstant<__libcpp_is_integral<__remove_cv_t<_Tp> >::value> {};