public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] libstdc++: use __is_enum built-in trait
@ 2023-07-03  1:17 Ken Matsui
  2023-07-08  4:50 ` [PATCH v2] " Ken Matsui
  0 siblings, 1 reply; 3+ messages in thread
From: Ken Matsui @ 2023-07-03  1:17 UTC (permalink / raw)
  To: gcc-patches; +Cc: libstdc++, Ken Matsui

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 <kmatsui@cs.washington.edu>
---
 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] libstdc++: use __is_enum built-in trait
  2023-07-03  1:17 [PATCH] libstdc++: use __is_enum built-in trait Ken Matsui
@ 2023-07-08  4:50 ` Ken Matsui
  2023-07-12  9:51   ` Jonathan Wakely
  0 siblings, 1 reply; 3+ messages in thread
From: Ken Matsui @ 2023-07-08  4:50 UTC (permalink / raw)
  To: gcc-patches; +Cc: libstdc++, Ken Matsui

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 <kmatsui@gcc.gnu.org>
---
 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] libstdc++: use __is_enum built-in trait
  2023-07-08  4:50 ` [PATCH v2] " Ken Matsui
@ 2023-07-12  9:51   ` Jonathan Wakely
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Wakely @ 2023-07-12  9:51 UTC (permalink / raw)
  To: Ken Matsui; +Cc: gcc-patches, libstdc++

On Sat, 8 Jul 2023 at 05:50, Ken Matsui via Libstdc++
<libstdc++@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 <kmatsui@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
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-07-12  9:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-03  1:17 [PATCH] libstdc++: use __is_enum built-in trait Ken Matsui
2023-07-08  4:50 ` [PATCH v2] " Ken Matsui
2023-07-12  9:51   ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).