Author: stl_msft Date: Wed Dec 14 16:46:46 2016 New Revision: 289734 URL: http://llvm.org/viewvc/llvm-project?rev=289734&view=rev Log: [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. Modified: libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp libcxx/trunk/test/std/containers/sequences/vector/contiguous.pass.cpp libcxx/trunk/test/std/strings/basic.string/string.require/contiguous.pass.cpp Modified: libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp?rev=289734&r1=289733&r2=289734&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp (original) +++ libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp Wed Dec 14 16:46:46 2016 @@ -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(); Modified: libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp?rev=289734&r1=289733&r2=289734&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp (original) +++ libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp Wed Dec 14 16:46:46 2016 @@ -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(); Modified: libcxx/trunk/test/std/containers/sequences/vector/contiguous.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/vector/contiguous.pass.cpp?rev=289734&r1=289733&r2=289734&view=diff ============================================================================== --- libcxx/trunk/test/std/containers/sequences/vector/contiguous.pass.cpp (original) +++ libcxx/trunk/test/std/containers/sequences/vector/contiguous.pass.cpp Wed Dec 14 16:46:46 2016 @@ -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() Modified: libcxx/trunk/test/std/strings/basic.string/string.require/contiguous.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/basic.string/string.require/contiguous.pass.cpp?rev=289734&r1=289733&r2=289734&view=diff ============================================================================== --- libcxx/trunk/test/std/strings/basic.string/string.require/contiguous.pass.cpp (original) +++ libcxx/trunk/test/std/strings/basic.string/string.require/contiguous.pass.cpp Wed Dec 14 16:46:46 2016 @@ -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() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits