https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111073

Simon Marchi <simon.marchi at polymtl dot ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simon.marchi at polymtl dot ca

--- Comment #4 from Simon Marchi <simon.marchi at polymtl dot ca> ---
I have a similar one from GDB.  It's -Warray-bounds, not -Wstringop-overflow,
but the symptoms are really similar (needs _GLIBCXX_ASSERTIONS/_GLIBCXX_DEBUG,
error reported at same line):

$ g++ -x c++    -I. -I/home/smarchi/src/wt/amd/gdb
-I/home/smarchi/src/wt/amd/gdb/config -include
/home/smarchi/src/wt/amd/gdb/defs.h -DLOCALEDIR="\"/tmp/roc-gdb/share/locale\""
-DHAVE_CONFIG_H -I/home/smarchi/src/wt/amd/gdb/../include/opcode -I../bfd
-I/home/smarchi/src/wt/amd/gdb/../bfd -I/home/smarchi/src/wt/amd/gdb/../include
-I/home/smarchi/src/wt/amd/gdb/../readline/readline/..   -I../libdecnumber
-I/home/smarchi/src/wt/amd/gdb/../libdecnumber 
-I/home/smarchi/src/wt/amd/gdb/../gnulib/import -I../gnulib/import
-I/home/smarchi/src/wt/amd/gdb/.. -I..
-I/home/smarchi/src/wt/amd/gdb/../libbacktrace/ -I../libbacktrace/ -DTUI=1   
-I/usr/include/python3.12 -I/usr/include/python3.12  
-I/home/smarchi/src/wt/amd/gdb/.. -pthread  
-I/tmp/roc-gdb/share/pkgconfig/../../include  -Wall -Wpointer-arith -Wno-unused
-Wunused-value -Wunused-variable -Wunused-function -Wno-switch
-Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter
-Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized
-Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=5
-Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor
-Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wvla -Wformat
-Wformat-nonliteral -Werror -g3 -O2 -fmax-errors=1 -fdiagnostics-color=always
-fsanitize=address -D_GLIBCXX_DEBUG=1     -c -o symfile.o -MT symfile.o -MMD
-MP -MF ./.deps/symfile.Tpo /home/smarchi/src/wt/amd/gdb/symfile.c
In file included from /usr/include/c++/13/bits/hashtable_policy.h:36,
                 from /usr/include/c++/13/bits/hashtable.h:35,
                 from /usr/include/c++/13/bits/unordered_map.h:33,
                 from /usr/include/c++/13/unordered_map:41,
                 from /usr/include/c++/13/functional:63,
                 from /home/smarchi/src/wt/amd/gdb/../gdbsupport/ptid.h:35,
                 from
/home/smarchi/src/wt/amd/gdb/../gdbsupport/common-defs.h:197,
                 from /home/smarchi/src/wt/amd/gdb/defs.h:27,
                 from <command-line>:
In static member function ‘static _Up* std::__copy_move<_IsMove, true,
std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const
add_symbol_file_command(const char*, int)::sect_opt; _Up =
add_symbol_file_command(const char*, int)::sect_opt; bool _IsMove = false]’,
    inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove =
false; _II = const add_symbol_file_command(const char*, int)::sect_opt*; _OI =
add_symbol_file_command(const char*, int)::sect_opt*]’ at
/usr/include/c++/13/bits/stl_algobase.h:506:30,
    inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove =
false; _II = const add_symbol_file_command(const char*, int)::sect_opt*; _OI =
add_symbol_file_command(const char*, int)::sect_opt*]’ at
/usr/include/c++/13/bits/stl_algobase.h:533:42,
    inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove =
false; _II = const add_symbol_file_command(const char*, int)::sect_opt*; _OI =
add_symbol_file_command(const char*, int)::sect_opt*]’ at
/usr/include/c++/13/bits/stl_algobase.h:540:31,
    inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = const
add_symbol_file_command(const char*, int)::sect_opt*; _OI =
add_symbol_file_command(const char*, int)::sect_opt*]’ at
/usr/include/c++/13/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator
std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator,
_ForwardIterator) [with _InputIterator = const add_symbol_file_command(const
char*, int)::sect_opt*; _ForwardIterator = add_symbol_file_command(const char*,
int)::sect_opt*]’ at /usr/include/c++/13/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator) [with _InputIterator = const
add_symbol_file_command(const char*, int)::sect_opt*; _ForwardIterator =
add_symbol_file_command(const char*, int)::sect_opt*]’ at
/usr/include/c++/13/bits/stl_uninitialized.h:185:15,
    inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator,
_InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = const
add_symbol_file_command(const char*, int)::sect_opt*; _ForwardIterator =
add_symbol_file_command(const char*, int)::sect_opt*; _Tp =
add_symbol_file_command(const char*, int)::sect_opt]’ at
/usr/include/c++/13/bits/stl_uninitialized.h:373:37,
    inlined from ‘void std::__cxx1998::vector<_Tp,
_Alloc>::_M_range_initialize(_ForwardIterator, _ForwardIterator,
std::forward_iterator_tag) [with _ForwardIterator = const
add_symbol_file_command(const char*, int)::sect_opt*; _Tp =
add_symbol_file_command(const char*, int)::sect_opt; _Alloc =
std::allocator<add_symbol_file_command(const char*, int)::sect_opt>]’ at
/usr/include/c++/13/bits/stl_vector.h:1695:33,
    inlined from ‘std::__cxx1998::vector<_Tp,
_Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp =
add_symbol_file_command(const char*, int)::sect_opt; _Alloc =
std::allocator<add_symbol_file_command(const char*, int)::sect_opt>]’ at
/usr/include/c++/13/bits/stl_vector.h:682:21,
    inlined from ‘std::__debug::vector<_Tp,
_Allocator>::vector(std::initializer_list<_Tp>, const allocator_type&) [with
_Tp = add_symbol_file_command(const char*, int)::sect_opt; _Allocator =
std::allocator<add_symbol_file_command(const char*, int)::sect_opt>]’ at
/usr/include/c++/13/debug/vector:228:23,
    inlined from ‘void add_symbol_file_command(const char*, int)’ at
/home/smarchi/src/wt/amd/gdb/symfile.c:2224:57:
/usr/include/c++/13/bits/stl_algobase.h:437:30: error: ‘void*
__builtin_memmove(void*, const void*, long unsigned int)’ forming offset 16 is
out of the bounds [0, 16] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


I don't know if it's useful, but I have a creduced version of the file I'll
attach.
  • [Bug tree-optimization/111073]... simon.marchi at polymtl dot ca via Gcc-bugs

Reply via email to