diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2016-07-21 13:18:50 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2016-07-21 13:18:50 +0000 |
| commit | ef68f26b28bfb9fbb771857701c55b8b2cb54847 (patch) | |
| tree | 4c62eabe01dba45a2266182696c19fbf5bbb37bd /libcxx/test/std | |
| parent | e89c62a1028af8f18426dee35689113474cbe382 (diff) | |
| download | bcm5719-llvm-ef68f26b28bfb9fbb771857701c55b8b2cb54847.tar.gz bcm5719-llvm-ef68f26b28bfb9fbb771857701c55b8b2cb54847.zip | |
Another fix to appease the no-exception bots.
llvm-svn: 276272
Diffstat (limited to 'libcxx/test/std')
| -rw-r--r-- | libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp | 18 |
1 files changed, 11 insertions, 7 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 88a093ad8b9..7e179ef89d1 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,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]); } |

