[PATCH 2/2] libstdc++: use new built-in trait __is_unsigned
Ken Matsui
kmatsui@cs.washington.edu
Tue Mar 21 17:02:34 GMT 2023
I see. Thank you!
On Tue, Mar 21, 2023 at 9:44 AM Jonathan Wakely <jwakely@redhat.com> wrote:
>
>
> On Tue, 21 Mar 2023 at 16:41, Ken Matsui via Libstdc++ <
> libstdc++@gcc.gnu.org> wrote:
>
>> This patch lets libstdc++ use new built-in trait __is_unsigned.
>>
>> libstdc++-v3/ChangeLog:
>>
>> * include/std/type_traits (is_unsigned): Use __is_unsigned
>> built-in trait.
>>
>
> Please wrap the ChangeLog entry to less than 80 columns (including 8 for
> the leading tab).
>
>
>
>> ---
>> libstdc++-v3/include/std/type_traits | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/libstdc++-v3/include/std/type_traits
>> b/libstdc++-v3/include/std/type_traits
>> index 2bd607a8b8f..8d5a05cd0a6 100644
>> --- a/libstdc++-v3/include/std/type_traits
>> +++ b/libstdc++-v3/include/std/type_traits
>> @@ -884,10 +884,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>> { };
>>
>> /// is_unsigned
>> +#if __has_builtin(__is_unsigned)
>> + template<typename _Tp>
>> + struct is_unsigned
>> + : public __bool_constant<__is_unsigned(_Tp)>
>> + { };
>> +#else
>> template<typename _Tp>
>> struct is_unsigned
>> : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type
>> { };
>> +#endif
>>
>
> Thanks, I expect this trait to make a much bigger difference than
> add_const, so I'm very happy to see this one!
>
>
>
>>
>> /// @cond undocumented
>> template<typename _Tp, typename _Up = _Tp&&>
>> --
>> 2.40.0
>>
>>
More information about the Libstdc++
mailing list