[gcc(refs/users/redi/heads/integer_class_type)] Also treat __int128 as integer-like when using integer-class types

Jonathan Wakely redi@gcc.gnu.org
Wed Jan 15 23:09:00 GMT 2020


https://gcc.gnu.org/g:9542b985d840ab28a71bda0c7af098bfd11b2db0

commit 9542b985d840ab28a71bda0c7af098bfd11b2db0
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Jan 15 23:07:27 2020 +0000

    Also treat __int128 as integer-like when using integer-class types

Diff:
---
 libstdc++-v3/include/bits/iterator_concepts.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libstdc++-v3/include/bits/iterator_concepts.h b/libstdc++-v3/include/bits/iterator_concepts.h
index 8ffda85..c7d14f5 100644
--- a/libstdc++-v3/include/bits/iterator_concepts.h
+++ b/libstdc++-v3/include/bits/iterator_concepts.h
@@ -507,10 +507,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     template<typename _Tp>
       concept __is_integer_like = integral<_Tp>
+#if defined _GLIBCXX_INTEGER_LIKE_TYPES && __SIZEOF_INT128__
+	|| same_as<_Tp, __int128> || same_as<_Tp, unsigned __int128>
+#endif
 	|| same_as<_Tp, __max_diff_type> || same_as<_Tp, __max_size_type>;
 
     template<typename _Tp>
       concept __is_signed_integer_like = signed_integral<_Tp>
+#if defined _GLIBCXX_INTEGER_LIKE_TYPES && __SIZEOF_INT128__
+	|| same_as<_Tp, __int128>
+#endif
 	|| same_as<_Tp, __max_diff_type>;
 
   } // namespace ranges::__detail



More information about the Libstdc++-cvs mailing list