From: Mikhail Maltsev Date: Wed, 10 Jun 2020 13:26:58 +0000 (+0100) Subject: [libcxx] Fix std::vector construct_iter_iter.pass.cpp test (C++98/03) X-Git-Tag: llvmorg-12-init~3491 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e94bdceb0f94b90369bf30bf8dca033ee23943a;p=platform%2Fupstream%2Fllvm.git [libcxx] Fix std::vector construct_iter_iter.pass.cpp test (C++98/03) The test is failing on 32-bit targets in C++03 mode. Clang produces the following warning: 'integer literal is too large to be represented in type 'long' and is subject to undefined behavior under C++98, interpreting as 'unsigned long'; this literal will have type 'long long' in C++11 onwards [-Wc++11-compat]' which is promoted to an error and causes the test to fail. There have been no changes in the test itself since 2019, so it looks like the diagnostic has been updated. Differential Revision: https://reviews.llvm.org/D81559 --- diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp index 2b3b212..3b43a89 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp @@ -180,7 +180,7 @@ void test_ctor_with_different_value_type() { // Though the types are different, initialization can be done with `memcpy`. int32_t array[1] = { -1 }; std::vector v(array, array + 1); - assert(v[0] == 4294967295); + assert(v[0] == 4294967295U); } }