From 79f9caeb8ccd694a7a80702a9b9722e98a5a35bd Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Sun, 4 Dec 2022 01:31:08 +0800 Subject: [PATCH 1/2] Change of size types due to LWG-3646 --- tests/std/tests/P0896R4_ranges_range_machinery/test.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp b/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp index 7076deb301a..e38ca46461d 100644 --- a/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp +++ b/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp @@ -1711,7 +1711,6 @@ namespace exhaustive_size_and_view_test { using I = int*; using CI = int const*; - using D = std::ptrdiff_t; using S = std::size_t; using UC = unsigned char; @@ -1775,10 +1774,10 @@ namespace exhaustive_size_and_view_test { STATIC_ASSERT(test()); STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); template constexpr bool strict_test_case() { From 33f737dd6662dd8aa006f3d72a1ad76168e25759 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Sun, 4 Dec 2022 01:33:59 +0800 Subject: [PATCH 2/2] Implement LWG-3646 --- stl/inc/xutility | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stl/inc/xutility b/stl/inc/xutility index b8a210a37ae..8839c6c2d12 100644 --- a/stl/inc/xutility +++ b/stl/inc/xutility @@ -3423,7 +3423,7 @@ namespace ranges { #endif // TRANSITION, LLVM-44833 { auto& _Self = _Cast(); - return _RANGES end(_Self) - _RANGES begin(_Self); + return _STD _To_unsigned_like(_RANGES end(_Self) - _RANGES begin(_Self)); } #ifdef __clang__ // TRANSITION, LLVM-44833 @@ -3437,7 +3437,7 @@ namespace ranges { #endif // TRANSITION, LLVM-44833 { auto& _Self = _Cast(); - return _RANGES end(_Self) - _RANGES begin(_Self); + return _STD _To_unsigned_like(_RANGES end(_Self) - _RANGES begin(_Self)); } #ifdef __clang__ // TRANSITION, LLVM-44833