[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