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

            Bug ID: 125404
           Summary: [17 regression] gcc/cobol/symfind.cc:526:45: error:
                    array subscript -1 is outside array bounds of 'long
                    unsigned int [1152921504606846975]'
                    [-Werror=array-bounds=] [r17-603-gacfdad706d8acc]
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: [email protected]
  Target Milestone: ---
            Target: aarch64-*-*

make[3]: Entering directory '/opt/gcc/gcc-20260521/Build/gcc'
/opt/gcc/gcc-20260521/Build/./prev-gcc/xg++
-B/opt/gcc/gcc-20260521/Build/./prev-gcc/ -B/usr/aarch64-suse-linux/bin/
-nostdinc++
-B/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/src/.libs
-B/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/libsupc++/.libs

-I/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/aarch64-suse-linux
 -I/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include 
-I/opt/gcc/gcc-20260521/libstdc++-v3/libsupc++
-L/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/src/.libs
-L/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC   
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-error=narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror  -DHAVE_CONFIG_H -fno-PIE
-I. -Icobol -I../../gcc -I../../gcc/cobol -I../../gcc/../include 
-I../../gcc/../libcpp/include -I../../gcc/../libcody 
-I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/bid -I../libdecnumber
-I../../gcc/../libbacktrace   -o cobol/symfind.o -MT cobol/symfind.o -MMD -MP
-MF cobol/.deps/symfind.TPo ../../gcc/cobol/symfind.cc
In lambda function,
    inlined from 'constexpr _OIter std::copy_if(_IIter, _IIter, _OIter,
_Predicate) [with _IIter = _Rb_tree_iterator<pair<const sym_name_t, vector<long
unsigned int> > >; _OIter = insert_iterator<map<sym_name_t, vector<long
unsigned int> > >; _Predicate = symbol_find(size_t, std::__cxx11::list<const
char*>)::<lambda(auto:9)>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_algo.h:658:12,
    inlined from 'std::pair<symbol_elem_t*, bool> symbol_find(size_t,
std::__cxx11::list<const char*>)' at ../../gcc/cobol/symfind.cc:522:17:
../../gcc/cobol/symfind.cc:526:45: error: array subscript -1 is outside array
bounds of 'long unsigned int [1152921504606846975]' [-Werror=array-bounds=]
  526 |                     return ancestors.back() == i01;
      |                            ~~~~~~~~~~~~~~~~~^~~~~~
In file included from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/aarch64-suse-linux/bits/c++allocator.h:33,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/allocator.h:46,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/string:46,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/locale_classes.h:43,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/ios_base.h:43,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/streambuf:45,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/streambuf_iterator.h:37,
                 from
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/iterator:68,
                 from ../../gcc/cobol/cobol-system.h:51,
                 from ../../gcc/cobol/symfind.cc:32:
In member function 'constexpr _Tp*
std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = long
unsigned int]',
    inlined from 'constexpr _Tp* std::allocator< <template-parameter-1-1>
>::allocate(std::size_t) [with _Tp = long unsigned int]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/allocator.h:206:40,
    inlined from 'static constexpr _Tp*
std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&,
size_type) [with _Tp = long unsigned int]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/alloc_traits.h:637:28,
    inlined from 'constexpr std::_Vector_base<_Tp, _Alloc>::_Alloc_result
std::_Vector_base<_Tp, _Alloc>::_M_allocate_at_least(std::size_t) [with _Tp =
long unsigned int; _Alloc = std::allocator<long unsigned int>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_vector.h:430:28,
    inlined from 'constexpr void std::_Vector_base<_Tp,
_Alloc>::_M_create_storage(std::size_t) [with _Tp = long unsigned int; _Alloc =
std::allocator<long unsigned int>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_vector.h:457:48,
    inlined from 'constexpr std::_Vector_base<_Tp,
_Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = long
unsigned int; _Alloc = std::allocator<long unsigned int>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_vector.h:354:26,
    inlined from 'constexpr std::vector<_Tp, _Alloc>::vector(const
std::vector<_Tp, _Alloc>&) [with _Tp = long unsigned int; _Alloc =
std::allocator<long unsigned int>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_vector.h:675:61,
    inlined from 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1,
_T2>&) [with _T1 = const sym_name_t; _T2 = std::vector<long unsigned int>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_pair.h:315:17,
    inlined from 'constexpr _OIter std::copy_if(_IIter, _IIter, _OIter,
_Predicate) [with _IIter = _Rb_tree_iterator<pair<const sym_name_t, vector<long
unsigned int> > >; _OIter = insert_iterator<map<sym_name_t, vector<long
unsigned int> > >; _Predicate = symbol_find(size_t, std::__cxx11::list<const
char*>)::<lambda(auto:9)>]' at
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_algo.h:658:12,
    inlined from 'std::pair<symbol_elem_t*, bool> symbol_find(size_t,
std::__cxx11::list<const char*>)' at ../../gcc/cobol/symfind.cc:522:17:
/opt/gcc/gcc-20260521/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/new_allocator.h:172:56:
note: at offset -8 into object of size [0, 9223372036854775800] allocated by
'operator new'
  172 |                 _GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
      |                                                        ^
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:1217: cobol/symfind.o] Error 1
make[3]: Leaving directory '/opt/gcc/gcc-20260521/Build/gcc'

Reply via email to