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

            Bug ID: 118771
           Summary: [15 regression] aarch64 bootstrap fails unless
                    --disable-werror
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mikpelinux at gmail dot com
  Target Milestone: ---

Attempting to bootstrap gcc-15-20250202 on aarch64-linux-gnu fails with:

/mnt/scratch/objdir15/./prev-gcc/xg++ -B/mnt/scratch/objdir15/./prev-gcc/
-B/mnt/scratch/install15/aarch64-unknown-linux-gnu/bin/ -nostdinc++
-B/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs

-I/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
 -I/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/include 
-I/mnt/scratch/gcc-15-20250202/libstdc++-v3/libsupc++
-L/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/mnt/scratch/objdir15/prev-aarch64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c   -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. -I. -I/mnt/scratch/gcc-15-20250202/gcc -I/mnt/scratch/gcc-15-20250202/gcc/.
-I/mnt/scratch/gcc-15-20250202/gcc/../include 
-I/mnt/scratch/gcc-15-20250202/gcc/../libcpp/include
-I/mnt/scratch/gcc-15-20250202/gcc/../libcody
-I/home/mikpe/pkgs/linux-aarch64/gmp-6.3.0/include
-I/home/mikpe/pkgs/linux-aarch64/mpfr-4.2.1/include
-I/home/mikpe/pkgs/linux-aarch64/mpc-1.3.1/include 
-I/mnt/scratch/gcc-15-20250202/gcc/../libdecnumber
-I/mnt/scratch/gcc-15-20250202/gcc/../libdecnumber/bid -I../libdecnumber
-I/mnt/scratch/gcc-15-20250202/gcc/../libbacktrace   -o aarch64.o -MT aarch64.o
-MMD -MP -MF ./.deps/aarch64.TPo
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc: In function
'fractional_cost aarch64_detect_vector_stmt_subtype(vec_info*,
vect_cost_for_stmt, stmt_vec_info, slp_tree, tree, vect_cost_model_location,
fractional_cost)':
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc:17148:29: warning:
narrowing conversion of '(int)sve_costs->sve_vec_cost::gather_load_x64_cost'
from 'int' to 'uint32_t' {aka 'unsigned int'} [-Wnarrowing]
17148 |         return { sve_costs->gather_load_x64_cost, nunits };
      |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc:17149:27: warning:
narrowing conversion of '(int)sve_costs->sve_vec_cost::gather_load_x32_cost'
from 'int' to 'uint32_t' {aka 'unsigned int'} [-Wnarrowing]
17149 |       return { sve_costs->gather_load_x32_cost, nunits };
      |                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc: In function 'void
aarch64_split_move(rtx, rtx, machine_mode)':
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc:3418:31: error:
'*(rtx_def**)((char*)&dst_pieces + offsetof(auto_vec<rtx_def*,
4>,auto_vec<rtx_def*, 4>::m_data[0]))' may be used uninitialized
[-Werror=maybe-uninitialized]
 3418 |   if (reg_overlap_mentioned_p (dst_pieces[0], src))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/mnt/scratch/gcc-15-20250202/gcc/config/aarch64/aarch64.cc:3408:20: note:
'dst_pieces' declared here
 3408 |   auto_vec<rtx, 4> dst_pieces, src_pieces;
      |                    ^~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:2716: aarch64.o] Error 1
make[3]: Leaving directory '/mnt/scratch/objdir15/gcc'
make[2]: *** [Makefile:5099: all-stage2-gcc] Error 2
make[2]: Leaving directory '/mnt/scratch/objdir15'
make[1]: *** [Makefile:29342: stage2-bubble] Error 2
make[1]: Leaving directory '/mnt/scratch/objdir15'
make: *** [Makefile:29546: bootstrap] Error 2

This has been going on since at least gcc-15-20241117, gcc-15-20241103 and
earlier built fine, gcc-14 builds fine.

The build passes if I configure with --disable-werror.

The host is aarch64-linux-gnu, Fedora 41 (Asahi spin), Apple M1 mini. The host
compiler is based on gcc-13.3.1 20241004.

Full configuration line:
/mnt/scratch/gcc-15-20250202/configure --enable-languages=c,ada,c++,d,m2
--enable-shared --enable-treads=posix --enable-checking=release
--enable-multilib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --disable-plugin --enable-initfini-array
--enable-gnu-indirect-function --build=aarch64-unknown-linux-gnu
--prefix=/mnt/scratch/install15
--with-gmp=/home/mikpe/pkgs/linux-aarch64/gmp-6.3.0
--with-mpfr=/home/mikpe/pkgs/linux-aarch64/mpfr-4.2.1
--with-mpc=/home/mikpe/pkgs/linux-aarch64/mpc-1.3.1 --without-isl --disable-lto
--disable-nls --disable-libmudflap --enable-libsanitizer

Reply via email to