On Sat, 8 Jul 2023 at 05:50, Ken Matsui via Libstdc++ <libstd...@gcc.gnu.org> wrote: > > This patch replaces is_enum<T>::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 <kmat...@gcc.gnu.org>
OK for trunk, thanks! > --- > libstdc++-v3/include/std/type_traits | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libstdc++-v3/include/std/type_traits > b/libstdc++-v3/include/std/type_traits > index 0e7a9c9c7f3..9f086992ebc 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<typename _Tp, > bool _IsInt = is_integral<_Tp>::value, > - bool _IsEnum = is_enum<_Tp>::value> > + bool _IsEnum = __is_enum(_Tp)> > class __make_unsigned_selector; > > template<typename _Tp> > @@ -1900,7 +1900,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > // Select between integral and enum: not possible to be both. > template<typename _Tp, > bool _IsInt = is_integral<_Tp>::value, > - bool _IsEnum = is_enum<_Tp>::value> > + bool _IsEnum = __is_enum(_Tp)> > class __make_signed_selector; > > template<typename _Tp> > @@ -2353,7 +2353,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > struct __common_type_fold<_CTp, _Rp, void> > { }; > > - template<typename _Tp, bool = is_enum<_Tp>::value> > + template<typename _Tp, bool = __is_enum(_Tp)> > struct __underlying_type_impl > { > using type = __underlying_type(_Tp); > -- > 2.41.0 >