[libcxx] [test] Fix MSVC warnings and errors.
test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_init_op.pass.cpp test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp Fix MSVC x64 truncation warnings. warning C4267: conversion from 'size_t' to 'int', possible loss of data test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp Fix MSVC uninitialized memory warning. warning C6001: Using uninitialized memory 'vl'. test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.pass.cpp Include <cassert> for the assert() macro. Fixes D43273. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@326120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -55,31 +55,31 @@ test()
|
||||
test(Iter(ia), Iter(ia + i), 0, pRes, pRes + i);
|
||||
}
|
||||
|
||||
int triangle(int n) { return n*(n+1)/2; }
|
||||
size_t triangle(size_t n) { return n*(n+1)/2; }
|
||||
|
||||
// Basic sanity
|
||||
void basic_tests()
|
||||
{
|
||||
{
|
||||
std::vector<int> v(10);
|
||||
std::vector<size_t> v(10);
|
||||
std::fill(v.begin(), v.end(), 3);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), 50);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{50});
|
||||
for (size_t i = 0; i < v.size(); ++i)
|
||||
assert(v[i] == 50 + (int) i * 3);
|
||||
assert(v[i] == 50 + i * 3);
|
||||
}
|
||||
|
||||
{
|
||||
std::vector<int> v(10);
|
||||
std::vector<size_t> v(10);
|
||||
std::iota(v.begin(), v.end(), 0);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), 30);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{30});
|
||||
for (size_t i = 0; i < v.size(); ++i)
|
||||
assert(v[i] == 30 + triangle(i-1));
|
||||
}
|
||||
|
||||
{
|
||||
std::vector<int> v(10);
|
||||
std::vector<size_t> v(10);
|
||||
std::iota(v.begin(), v.end(), 1);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), 40);
|
||||
std::exclusive_scan(v.begin(), v.end(), v.begin(), size_t{40});
|
||||
for (size_t i = 0; i < v.size(); ++i)
|
||||
assert(v[i] == 40 + triangle(i));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user