diff options
author | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-12-06 01:12:34 +0000 |
---|---|---|
committer | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-12-06 01:12:34 +0000 |
commit | fbfb2ab63e94f1b0c248cd810ae3fb35889d99b6 (patch) | |
tree | 67ea304c455aa91bacfbd7b4be06824ff157ce3c /libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp | |
parent | ad55ee58691b58f3ac36e688fc90808d5cf71e7f (diff) | |
download | bcm5719-llvm-fbfb2ab63e94f1b0c248cd810ae3fb35889d99b6.tar.gz bcm5719-llvm-fbfb2ab63e94f1b0c248cd810ae3fb35889d99b6.zip |
[libcxx] [test] D27021: Fix MSVC warning C4389 "signed/unsigned mismatch", part 8/12.
Add static_cast<std::size_t> when comparing distance() to size().
These replacements were performed programmatically with regex_replace():
const vector<pair<regex, string>> reg_fmt = {
{ regex(R"(assert\((\w+)\.size\(\) == std::distance\((\w+, \w+)\)\))"),
"assert($1.size() == static_cast<std::size_t>(std::distance($2)))" },
{ regex(R"(assert\(distance\((\w+\.begin\(\), \w+\.end\(\))\) == (\w+)\.size\(\)\))"),
"assert(static_cast<std::size_t>(distance($1)) == $2.size())" },
{ regex(R"(assert\(std::distance\((\w+\.\w*begin\(\), \w+\.\w*end\(\))\) == (\w+)\.size\(\)\))"),
"assert(static_cast<std::size_t>(std::distance($1)) == $2.size())" },
};
Also, include <cstddef> when it wasn't already being included.
llvm-svn: 288745
Diffstat (limited to 'libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp')
-rw-r--r-- | libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp b/libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp index cb0792ab23b..1b10224cd9e 100644 --- a/libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp @@ -16,6 +16,7 @@ #include <string> #include <iterator> #include <cassert> +#include <cstddef> #include "test_macros.h" #include "test_allocator.h" @@ -32,7 +33,7 @@ test(It first, It last) typedef typename S::allocator_type A; S s2(first, last); LIBCPP_ASSERT(s2.__invariants()); - assert(s2.size() == std::distance(first, last)); + assert(s2.size() == static_cast<std::size_t>(std::distance(first, last))); unsigned i = 0; for (It it = first; it != last; ++it, ++i) assert(s2[i] == *it); @@ -49,7 +50,7 @@ test(It first, It last, const A& a) typedef typename S::traits_type T; S s2(first, last, a); LIBCPP_ASSERT(s2.__invariants()); - assert(s2.size() == std::distance(first, last)); + assert(s2.size() == static_cast<std::size_t>(std::distance(first, last))); unsigned i = 0; for (It it = first; it != last; ++it, ++i) assert(s2[i] == *it); |