[libcxx-commits] [libcxx] a7dcbe9 - [libc++] Fix overly complicated test of std::span's extent

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 18 12:06:05 PST 2020


Author: Louis Dionne
Date: 2020-02-18T15:04:33-05:00
New Revision: a7dcbe90cc2db4cd726cefa96d5adb5dbd286348

URL: https://github.com/llvm/llvm-project/commit/a7dcbe90cc2db4cd726cefa96d5adb5dbd286348
DIFF: https://github.com/llvm/llvm-project/commit/a7dcbe90cc2db4cd726cefa96d5adb5dbd286348.diff

LOG: [libc++] Fix overly complicated test of std::span's extent

Thanks to Billy O'Neal for the patch.

Differential Revision: https://reviews.llvm.org/D73138

Added: 
    

Modified: 
    libcxx/test/std/containers/views/span.sub/subspan.pass.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/test/std/containers/views/span.sub/subspan.pass.cpp b/libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
index e46dcc19d97a..185821aa54f3 100644
--- a/libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
+++ b/libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
@@ -37,13 +37,7 @@ constexpr bool testConstexprSpan(Span sp)
     using S2 = decltype(s2);
     ASSERT_SAME_TYPE(typename Span::value_type, typename S1::value_type);
     ASSERT_SAME_TYPE(typename Span::value_type, typename S2::value_type);
-    if constexpr (Count != std::dynamic_extent) {
-        static_assert(S1::extent == Count);
-    } else if constexpr (Span::extent != std::dynamic_extent) {
-        static_assert(S1::extent == Span::extent - Offset);
-    } else {
-        static_assert(S1::extent == std::dynamic_extent);
-    }
+    static_assert(S1::extent == Count);
     static_assert(S2::extent == std::dynamic_extent, "");
     return
         s1.data() == s2.data()
@@ -82,13 +76,7 @@ void testRuntimeSpan(Span sp)
     using S2 = decltype(s2);
     ASSERT_SAME_TYPE(typename Span::value_type, typename S1::value_type);
     ASSERT_SAME_TYPE(typename Span::value_type, typename S2::value_type);
-    if constexpr (Count != std::dynamic_extent) {
-        static_assert(S1::extent == Count);
-    } else if constexpr (Span::extent != std::dynamic_extent) {
-        static_assert(S1::extent == Span::extent - Offset);
-    } else {
-        static_assert(S1::extent == std::dynamic_extent);
-    }
+    static_assert(S1::extent == Count);
     static_assert(S2::extent == std::dynamic_extent, "");
     assert(s1.data() == s2.data());
     assert(s1.size() == s2.size());


        


More information about the libcxx-commits mailing list