[libcxx] r276272 - Another fix to appease the no-exception bots.

Marshall Clow via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 06:18:50 PDT 2016


Author: marshall
Date: Thu Jul 21 08:18:50 2016
New Revision: 276272

URL: http://llvm.org/viewvc/llvm-project?rev=276272&view=rev
Log:
Another fix to appease the no-exception bots.

Modified:
    libcxx/trunk/test/std/strings/string.view/string.view.ops/substr.pass.cpp

Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/substr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/substr.pass.cpp?rev=276272&r1=276271&r2=276272&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/substr.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/substr.pass.cpp Thu Jul 21 08:18:50 2016
@@ -22,21 +22,25 @@
 
 template<typename CharT>
 void test1(std::basic_string_view<CharT> sv, size_t n, size_t pos) {
+	std::basic_string_view<CharT> sv1;
 #ifdef TEST_HAS_NO_EXCEPTIONS
-    if (pos <= sv.size())
-        assert (sign( sv1.compare(pos1, n1, sv2)) == sign(expected));
+    if (pos > sv.size())
+        return ;  // would throw if exceptions were enabled
+    sv1 = sv.substr(pos, n);
 #else
     try {
-        std::basic_string_view<CharT> sv1 = sv.substr(pos, n);
-        const size_t rlen = std::min(n, sv.size() - pos);
-        assert (sv1.size() == rlen);
-        for (size_t i = 0; i <= rlen; ++i)
-            assert(sv[pos+i] == sv1[i]);
+        sv1 = sv.substr(pos, n);
+        assert(pos <= sv.size());
     }
     catch (const std::out_of_range&) {
         assert(pos > sv.size());
+        return ;
     }
 #endif
+	const size_t rlen = std::min(n, sv.size() - pos);
+	assert (sv1.size() == rlen);
+	for (size_t i = 0; i <= rlen; ++i)
+		assert(sv[pos+i] == sv1[i]);
 }
 
 




More information about the cfe-commits mailing list