From: Jonathan Wakely Date: Fri, 22 May 2026 12:25:57 +0000 (+0100) Subject: libstdc++: Fix some test failures due to vector using allocate_at_least X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=80ec18c6ef51653fcaf2ff5b0d41408af5adef87;p=thirdparty%2Fgcc.git libstdc++: Fix some test failures due to vector using allocate_at_least Some std::vector tests are FAILing for 32-bit targets because std::vector now rounds up allocations to an alignment boundary, perturbing the expected capacity of the vectors in the tests. Tweak the tests so that they don't depend on the precise capacity, which is unspecified anyway. The 23_containers/vector/modifiers/insert_vs_emplace.cc test still FAILs, that needs a different fix. libstdc++-v3/ChangeLog: * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: Ensure there is no unused capacity before inserting new element. * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: Likewise. --- diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc index 629f35f05ba..abb416208ea 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc @@ -31,11 +31,12 @@ test01() }; // Make sure emplace will imply reallocation. - VERIFY( vv.capacity() == 3 ); + const auto n = vv.capacity(); + vv.resize(n); vv.emplace(vv.begin(), vv[0]); - VERIFY( vv.size() == 4 ); + VERIFY( vv.size() == (n + 1) ); VERIFY( vv[0].size() == 2 ); VERIFY( vv[0][0] == 2 ); VERIFY( vv[0][1] == 3 ); diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc index 689b0d93d7d..d6e33983b1e 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc @@ -51,11 +51,12 @@ void test02() }; // Make sure we will reallocate for insertion. - VERIFY( vv.capacity() == 3 ); + const auto n = vv.capacity(); + vv.resize(n); vv.insert(vv.begin(), vv[0]); - VERIFY( vv.size() == 4 ); + VERIFY( vv.size() == (n + 1) ); VERIFY( vv[0].size() == 2 ); VERIFY( vv[0][0] == 2 ); VERIFY( vv[0][1] == 3 );