From 0afcb713217628de46a6e912eea286ed612ebcbc Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Mon, 6 Feb 2023 12:16:05 +0000
Subject: [PATCH] libstdc++: Fix non-reserved name for template parameter

libstdc++-v3/ChangeLog:

	* include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
	(__find_last_if_fn): Likewise.
---
 libstdc++-v3/include/bits/ranges_algo.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libstdc++-v3/include/bits/ranges_algo.h b/libstdc++-v3/include/bits/ranges_algo.h
index 5577d862cb51..1685e1d85bb7 100644
--- a/libstdc++-v3/include/bits/ranges_algo.h
+++ b/libstdc++-v3/include/bits/ranges_algo.h
@@ -3568,10 +3568,10 @@ namespace ranges
 
   struct __find_last_fn
   {
-    template<forward_iterator _Iter, sentinel_for<_Iter> _Sent, typename T, typename _Proj = identity>
-      requires indirect_binary_predicate<ranges::equal_to, projected<_Iter, _Proj>, const T*>
+    template<forward_iterator _Iter, sentinel_for<_Iter> _Sent, typename _Tp, typename _Proj = identity>
+      requires indirect_binary_predicate<ranges::equal_to, projected<_Iter, _Proj>, const _Tp*>
       constexpr subrange<_Iter>
-      operator()(_Iter __first, _Sent __last, const T& __value, _Proj __proj = {}) const
+      operator()(_Iter __first, _Sent __last, const _Tp& __value, _Proj __proj = {}) const
       {
 	if constexpr (same_as<_Iter, _Sent> && bidirectional_iterator<_Iter>)
 	  {
@@ -3599,10 +3599,10 @@ namespace ranges
 	  }
       }
 
-    template<forward_range _Range, typename T, typename _Proj = identity>
-      requires indirect_binary_predicate<ranges::equal_to, projected<iterator_t<_Range>, _Proj>, const T*>
+    template<forward_range _Range, typename _Tp, typename _Proj = identity>
+      requires indirect_binary_predicate<ranges::equal_to, projected<iterator_t<_Range>, _Proj>, const _Tp*>
       constexpr borrowed_subrange_t<_Range>
-      operator()(_Range&& __r, const T& __value, _Proj __proj = {}) const
+      operator()(_Range&& __r, const _Tp& __value, _Proj __proj = {}) const
       { return (*this)(ranges::begin(__r), ranges::end(__r), __value, std::move(__proj)); }
   };
 
-- 
GitLab