[gcc r11-3763] libstdc++: Fix variant build on 32-bit targets [PR95904]

Ville Voutilainen ville@gcc.gnu.org
Sat Oct 10 11:04:26 GMT 2020


https://gcc.gnu.org/g:02cbd79e4728319e0887ad7783297853b527bb13

commit r11-3763-g02cbd79e4728319e0887ad7783297853b527bb13
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date:   Sat Oct 10 13:57:17 2020 +0300

    libstdc++: Fix variant build on 32-bit targets [PR95904]
    
        libstdc++-v3/ChangeLog:
    
            * include/std/variant (__check_visitor_result):
            Use size_t for indexes.
            (__check_visitor_results): Likewise.

Diff:
---
 libstdc++-v3/include/std/variant | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index b32e564fd41..a29c5bf513b 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -1714,7 +1714,7 @@ namespace __variant
   template<typename _Tp, typename... _Types>
      constexpr inline bool __same_types = (is_same_v<_Tp, _Types> && ...);
 
-  template <unsigned long int _Idx, typename _Visitor, typename _Variant>
+  template <size_t _Idx, typename _Visitor, typename _Variant>
     decltype(auto)
     __check_visitor_result(_Visitor&& __vis, _Variant&& __variant)
     {
@@ -1722,7 +1722,7 @@ namespace __variant
 			   std::get<_Idx>(std::forward<_Variant>(__variant)));
     }
 
-  template <typename _Visitor, typename _Variant, unsigned long int... _Idxs>
+  template <typename _Visitor, typename _Variant, size_t... _Idxs>
     constexpr bool __check_visitor_results(std::index_sequence<_Idxs...>)
     {
       return __same_types<decltype(__check_visitor_result<_Idxs>(


More information about the Libstdc++-cvs mailing list