[libcxx] [test] Fix MSVC x64 truncation warnings with 32-bit allocator size_type/difference_type.

test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
Iterate with C::size_type because that's what operator[] takes.

test/std/containers/sequences/vector/contiguous.pass.cpp
test/std/strings/basic.string/string.require/contiguous.pass.cpp
Add static_cast<typename C::difference_type> because that's what the iterator's operator+ takes.

Fixes D27777.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289734 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Stephan T. Lavavej 2016-12-14 22:46:46 +00:00
parent 18e56b438e
commit 7b7dedb244
4 changed files with 4 additions and 4 deletions

View File

@ -50,7 +50,7 @@ int main()
test q(d, test_allocator<int>(4));
assert(q.get_allocator() == test_allocator<int>(4));
assert(q.size() == 5);
for (std::size_t i = 0; i < d.size(); ++i)
for (C::size_type i = 0; i < d.size(); ++i)
{
assert(q.front() == d[i]);
q.pop();

View File

@ -50,7 +50,7 @@ int main()
test q(d, test_allocator<int>(4));
assert(q.get_allocator() == test_allocator<int>(4));
assert(q.size() == 5);
for (std::size_t i = 0; i < d.size(); ++i)
for (C::size_type i = 0; i < d.size(); ++i)
{
assert(q.top() == d[d.size() - i - 1]);
q.pop();

View File

@ -21,7 +21,7 @@ template <class C>
void test_contiguous ( const C &c )
{
for ( size_t i = 0; i < c.size(); ++i )
assert ( *(c.begin() + i) == *(std::addressof(*c.begin()) + i));
assert ( *(c.begin() + static_cast<typename C::difference_type>(i)) == *(std::addressof(*c.begin()) + i));
}
int main()

View File

@ -22,7 +22,7 @@ template <class C>
void test_contiguous ( const C &c )
{
for ( size_t i = 0; i < c.size(); ++i )
assert ( *(c.begin() + i) == *(std::addressof(*c.begin()) + i));
assert ( *(c.begin() + static_cast<typename C::difference_type>(i)) == *(std::addressof(*c.begin()) + i));
}
int main()