[gcc r11-9817] libstdc++: Implement LWG 3580 change to ranges::iota_view

Patrick Palka ppalka@gcc.gnu.org
Tue Apr 12 14:28:38 GMT 2022


https://gcc.gnu.org/g:e88ffd55707ea3ee97dc71aa2888ce61195eb6f4

commit r11-9817-ge88ffd55707ea3ee97dc71aa2888ce61195eb6f4
Author: Patrick Palka <ppalka@redhat.com>
Date:   Tue Oct 19 18:07:19 2021 -0400

    libstdc++: Implement LWG 3580 change to ranges::iota_view
    
    libstdc++-v3/ChangeLog:
    
            * include/std/ranges (iota_view::_Iterator::operator+): Adjust
            definition as per LWG 3580.
            (iota_view::_Iterator::operator-): Likewise.
    
    (cherry picked from commit 5566f3c6b46cf053ae4b918513e318561b7af053)

Diff:
---
 libstdc++-v3/include/std/ranges | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 70f571f74fd..99404acda3d 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -461,7 +461,10 @@ namespace ranges
 	friend constexpr _Iterator
 	operator+(_Iterator __i, difference_type __n)
 	  requires __detail::__advanceable<_Winc>
-	{ return __i += __n; }
+	{
+	  __i += __n;
+	  return __i;
+	}
 
 	friend constexpr _Iterator
 	operator+(difference_type __n, _Iterator __i)
@@ -471,7 +474,10 @@ namespace ranges
 	friend constexpr _Iterator
 	operator-(_Iterator __i, difference_type __n)
 	  requires __detail::__advanceable<_Winc>
-	{ return __i -= __n; }
+	{
+	  __i -= __n;
+	  return __i;
+	}
 
 	friend constexpr difference_type
 	operator-(const _Iterator& __x, const _Iterator& __y)


More information about the Libstdc++-cvs mailing list