[PATCH] D27018: [libcxx] [test] Fix MSVC warning C4018 "signed/unsigned mismatch", part 5/12.
Stephan T. Lavavej via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 22 16:48:58 PST 2016
STL_MSFT created this revision.
STL_MSFT added reviewers: EricWF, mclow.lists.
STL_MSFT added a subscriber: cfe-commits.
[libcxx] [test] Fix MSVC warning C4018 "signed/unsigned mismatch", part 5/12.
Various changes:
test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
Change M from unsigned to int. It's compared against "int x",
and we binary_search() for it within a vector<int>.
test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
Add static_cast<unsigned> when comparing int to unsigned.
test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
Change unsigned indices to int when we're being given int as a bound.
https://reviews.llvm.org/D27018
Files:
test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
Index: test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
===================================================================
--- test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
+++ test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
@@ -62,7 +62,7 @@
S s2(n, c);
LIBCPP_ASSERT(s2.__invariants());
assert(s2.size() == n);
- for (unsigned i = 0; i < n; ++i)
+ for (int i = 0; i < n; ++i)
assert(s2[i] == c);
assert(s2.get_allocator() == A());
assert(s2.capacity() >= s2.size());
@@ -78,7 +78,7 @@
S s2(n, c, a);
LIBCPP_ASSERT(s2.__invariants());
assert(s2.size() == n);
- for (unsigned i = 0; i < n; ++i)
+ for (int i = 0; i < n; ++i)
assert(s2[i] == c);
assert(s2.get_allocator() == a);
assert(s2.capacity() >= s2.size());
Index: test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
===================================================================
--- test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
+++ test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
@@ -34,7 +34,7 @@
I(double x, unsigned a, unsigned b)
{
double r = 0;
- for (int j = a; j <= a+b-1; ++j)
+ for (int j = a; static_cast<unsigned>(j) <= a+b-1; ++j)
r += fac(a+b-1)/(fac(j) * fac(a + b - 1 - j)) * std::pow(x, j) *
std::pow(1-x, a+b-1-j);
return r;
Index: test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
===================================================================
--- test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
+++ test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
@@ -34,7 +34,7 @@
I(double x, unsigned a, unsigned b)
{
double r = 0;
- for (int j = a; j <= a+b-1; ++j)
+ for (int j = a; static_cast<unsigned>(j) <= a+b-1; ++j)
r += fac(a+b-1)/(fac(j) * fac(a + b - 1 - j)) * std::pow(x, j) *
std::pow(1-x, a+b-1-j);
return r;
Index: test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
===================================================================
--- test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
+++ test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
@@ -34,7 +34,7 @@
test()
{
const unsigned N = 1000;
- const unsigned M = 10;
+ const int M = 10;
std::vector<int> v(N);
int x = 0;
for (std::size_t i = 0; i < v.size(); ++i)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27018.78985.patch
Type: text/x-patch
Size: 2657 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161123/1f43db1c/attachment.bin>
More information about the cfe-commits
mailing list