diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2016-07-21 06:24:04 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2016-07-21 06:24:04 +0000 |
commit | 187db169966d7ee38c589571e50a912108099555 (patch) | |
tree | c9199994fb34f4818b13136c36f7554ffa2be43e /libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp | |
parent | 4808f2642248da849a9ec03d3b9888ea9a031ec5 (diff) | |
download | bcm5719-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.cpp | 17 |
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 } |