[gcc r10-9573] libstdc++: Avoid narrowing conversion in subrange constructor
Jonathan Wakely
redi@gcc.gnu.org
Mon Mar 29 20:01:38 GMT 2021
https://gcc.gnu.org/g:4ab3d8aca1f377a4cbc94316770e629462ff8bbd
commit r10-9573-g4ab3d8aca1f377a4cbc94316770e629462ff8bbd
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Oct 29 22:47:22 2020 +0000
libstdc++: Avoid narrowing conversion in subrange constructor
libstdc++-v3/ChangeLog:
* include/std/ranges (subrange::subrange(R&&)): Use
direct-initialization instead of list-initialization, so a
potential narrowing conversion from ranges::size(r) to the
stored size isn't ill-formed.
(cherry picked from commit a55cda891d69b5a238d2e237903829995ca7249c)
Diff:
---
libstdc++-v3/include/std/ranges | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 8d3b662f928..78dacbe5ec7 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -282,7 +282,7 @@ namespace ranges
&& convertible_to<sentinel_t<_Rng>, _Sent>
constexpr
subrange(_Rng&& __r) requires _S_store_size && sized_range<_Rng>
- : subrange{__r, ranges::size(__r)}
+ : subrange(__r, ranges::size(__r))
{ }
template<__detail::__not_same_as<subrange> _Rng>
More information about the Gcc-cvs
mailing list