summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2016-07-21 06:24:04 +0000
committerMarshall Clow <mclow.lists@gmail.com>2016-07-21 06:24:04 +0000
commit187db169966d7ee38c589571e50a912108099555 (patch)
treec9199994fb34f4818b13136c36f7554ffa2be43e /libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
parent4808f2642248da849a9ec03d3b9888ea9a031ec5 (diff)
downloadbcm5719-llvm-187db169966d7ee38c589571e50a912108099555.tar.gz
bcm5719-llvm-187db169966d7ee38c589571e50a912108099555.zip
Fix some string_view tests that were failing when exceptions were disabled. Also comment out a _LIBCPP_ASSERT that gcc4.9 was complaining about. Will revisit that later.
llvm-svn: 276241
Diffstat (limited to 'libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp')
-rw-r--r--libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp b/libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
index afba3a64486..88a093ad8b9 100644
--- a/libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
@@ -22,16 +22,21 @@
template<typename CharT>
void test1(std::basic_string_view<CharT> sv, size_t n, size_t pos) {
- try {
- std::basic_string_view<CharT> sv1 = sv.substr(pos, n);
+#ifdef TEST_HAS_NO_EXCEPTIONS
+ if (pos <= sv.size())
+ assert (sign( sv1.compare(pos1, n1, sv2)) == sign(expected));
+#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]);
- }
- catch (const std::out_of_range&) {
- assert(pos > sv.size());
- }
+ }
+ catch (const std::out_of_range&) {
+ assert(pos > sv.size());
+ }
+#endif
}
OpenPOWER on IntegriCloud