mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-22 16:37:40 +08:00
[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. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288745 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user