From: Ken Matsui Date: Mon, 3 Jul 2023 01:12:30 +0000 (-0700) Subject: libstdc++: Use __is_enum built-in trait X-Git-Tag: basepoints/gcc-15~7665 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef42efe373b012a297e534f7fb5b30e601cc7017;p=thirdparty%2Fgcc.git libstdc++: Use __is_enum built-in trait This patch replaces is_enum::value with __is_enum built-in trait in the type_traits header. libstdc++-v3/ChangeLog: * include/std/type_traits (__make_unsigned_selector): Use __is_enum built-in trait. (__make_signed_selector): Likewise. (__underlying_type_impl): Likewise. Signed-off-by: Ken Matsui Reviewed-by: Jonathan Wakely --- diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 0e7a9c9c7f3e..9f086992ebcc 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -1740,7 +1740,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Select between integral and enum: not possible to be both. template::value, - bool _IsEnum = is_enum<_Tp>::value> + bool _IsEnum = __is_enum(_Tp)> class __make_unsigned_selector; template @@ -1900,7 +1900,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Select between integral and enum: not possible to be both. template::value, - bool _IsEnum = is_enum<_Tp>::value> + bool _IsEnum = __is_enum(_Tp)> class __make_signed_selector; template @@ -2353,7 +2353,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __common_type_fold<_CTp, _Rp, void> { }; - template::value> + template struct __underlying_type_impl { using type = __underlying_type(_Tp);