https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121789
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- When committed to trunk this caused a regression: | FAIL: g++.dg/torture/pr118521.C -O1 (test for excess errors) See https://gcc.gnu.org/pipermail/gcc-regression/2026-May/083775.html for discussion. However, I don't see that on trunk now. That test does still fail when backported to gcc-16 though: Executing on host: /tmp/build16/gcc/testsuite/g++1/../../xg++ -B/tmp/build16/gcc/testsuite/g++1/../../ /home/test/src/gcc-16/gcc/testsuite/g++.dg/torture/pr118521.C -fdiagnostics-plain-output -nostdinc++ -I/tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include -I/home/test/src/gcc-16/libstdc++-v3/libsupc++ -I/home/test/src/gcc-16/libstdc++-v3/include/backward -I/home/test/src/gcc-16/libstdc++-v3/testsuite/util -fmessage-length=0 -O1 -Wall -S -o pr118521.s (timeout = 300) spawn -ignore SIGHUP /tmp/build16/gcc/testsuite/g++1/../../xg++ -B/tmp/build16/gcc/testsuite/g++1/../../ /home/test/src/gcc-16/gcc/testsuite/g++.dg/torture/pr118521.C -fdiagnostics-plain-output -nostdinc++ -I/tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include -I/home/test/src/gcc-16/libstdc++-v3/libsupc++ -I/home/test/src/gcc-16/libstdc++-v3/include/backward -I/home/test/src/gcc-16/libstdc++-v3/testsuite/util -fmessage-length=0 -O1 -Wall -S -o pr118521.s In file included from /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/vector:67, from /home/test/src/gcc-16/gcc/testsuite/g++.dg/torture/pr118521.C:5: In function '_ForwardIterator std::uninitialized_fill_n(_ForwardIterator, _Size, const _Tp&) [with _ForwardIterator = char*; _Size = long unsigned int; _Tp = char]', inlined from 'constexpr _ForwardIterator std::__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&, allocator<_Tp>&) [with _ForwardIterator = char*; _Size = long unsigned int; _Tp = char; _Tp2 = char]' at /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_uninitialized.h:778:39, inlined from 'constexpr void std::vector<_Tp, _Alloc>::_M_fill_append(size_type, const value_type&) [with _Tp = char; _Alloc = std::allocator<char>]' at /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc:776:36, inlined from 'constexpr void std::vector<_Tp, _Alloc>::_M_fill_insert(iterator, size_type, const value_type&) [with _Tp = char; _Alloc = std::allocator<char>]' at /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc:668:20, inlined from 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, size_type, const value_type&) [with _Tp = char; _Alloc = std::allocator<char>]' at /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h:1565:16, inlined from 'void foo()' at /home/test/src/gcc-16/gcc/testsuite/g++.dg/torture/pr118521.C:12:11: /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_uninitialized.h:577:39: warning: 'void* __builtin_memset(void*, int, long unsigned int)' offset [2, 3] is out of the bounds [0, 2] [-Warray-bounds=] PASS: g++.dg/torture/pr118521.C -O1 at line 5 (test for bogus messages, line ) FAIL: g++.dg/torture/pr118521.C -O1 (test for excess errors) Excess errors: /tmp/build16/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_uninitialized.h:577:39: warning: 'void* __builtin_memset(void*, int, long unsigned int)' offset [2, 3] is out of the bounds [0, 2] [-Warray-bounds=]
