]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix more missing uses of iter_difference_t [PR119820]
authorJonathan Wakely <jwakely@redhat.com>
Mon, 15 Sep 2025 13:18:04 +0000 (14:18 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 16 Sep 2025 09:57:36 +0000 (10:57 +0100)
libstdc++-v3/ChangeLog:

PR libstdc++/119820
* include/bits/ranges_algo.h (__shuffle_fn): Use
ranges::distance to get difference type value to add to
iterator.
* include/std/format (__formatter_str::_M_format_range):
Use ranges::next to increment iterator by a size_t value.

Reviewed-by: Patrick Palka <ppalka@redhat.com>
libstdc++-v3/include/bits/ranges_algo.h
libstdc++-v3/include/std/format

index 6ec233f19df818ed011bacd94696727c2498238b..ea933be2f604e58e49599cce7b880c3a0e548c1b 100644 (file)
@@ -2028,7 +2028,7 @@ namespace ranges
                      && !sized_sentinel_for<sentinel_t<_Range>,
                                             iterator_t<_Range>>)
          return (*this)(ranges::begin(__r),
-                        ranges::begin(__r) + ranges::size(__r),
+                        ranges::begin(__r) + ranges::distance(__r),
                         std::forward<_Gen>(__g));
        else
          return (*this)(ranges::begin(__r), ranges::end(__r),
index d6a2170e45d89e66048b84f16dd552f93c8570d4..842972eed4caa5001f4425d7af1a289c35cc7fc8 100644 (file)
@@ -1440,7 +1440,7 @@ namespace __format
              else if constexpr (ranges::random_access_range<_Rg>)
                {
                  ranges::iterator_t<_Rg> __first = ranges::begin(__rg);
-                 ranges::subrange __sub(__first, __first + __w);
+                 ranges::subrange __sub(__first, ranges::next(__first, __w));
                  return _M_format_escaped(_String(from_range, __sub), __fc);
                }
              else if (__w <= __n)