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

            Bug ID: 127118
           Summary: FTBFS on x86_64 when compiling
                    gcc/gimple-ssa-warn-access.cc
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gaius at gcc dot gnu.org
  Target Milestone: ---

C++ fails to build from source when using:

$ ../configure --prefix=/home/gaius/opt/gccsh/PR-126847
--libexecdir=/home/gaius/opt/gccsh/PR-126847/lib --enable-host-shared
--enable-threads=posix --enable-clocale=gnu --enable-checking
--enable-long-longx --enable-languages=c++ --enable-multilib --enable-bootstrap
--enable-checking=release

$ make

...


/home/gaius/GCC/PR-126847/git-master/build/./prev-gcc/xg++
-B/home/gaius/GCC/PR-126847/git-master/build/./prev-gcc/
-B/home/gaius/opt/gccsh/PR-126847/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs

-I/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu

-I/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/home/gaius/GCC/PR-126847/git-master/libstdc++-v3/libsupc++
-L/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/home/gaius/GCC/PR-126847/git-master/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fPIC -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 -fPIC -I. -I. -I../../gcc
-I../../gcc/. -I../../gcc/../include  -I../../gcc/../libcpp/include
-I../../gcc/../libcody -I/home/gaius/GCC/PR-126847/git-master/build/./gmp
-I/home/gaius/GCC/PR-126847/git-master/gmp
-I/home/gaius/GCC/PR-126847/git-master/build/./mpfr/src
-I/home/gaius/GCC/PR-126847/git-master/mpfr/src
-I/home/gaius/GCC/PR-126847/git-master/mpc/src  -I../../gcc/../libdecnumber
-I../../gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc/../libbacktrace
-I/home/gaius/GCC/PR-126847/git-master/build/./isl/include
-I/home/gaius/GCC/PR-126847/git-master/isl/include  -o gimple-ssa-warn-access.o
-MT gimple-ssa-warn-access.o -MMD -MP -MF ./.deps/gimple-ssa-warn-access.TPo
../../gcc/gimple-ssa-warn-access.cc
In file included from ../../gcc/coretypes.h:479,
                 from ../../gcc/gimple-ssa-warn-access.cc:26:
In member function ‘long int* wide_int_storage::write_val(unsigned int)’,
    inlined from ‘void wi::copy(T1&, const T2&) [with T1 = wide_int_storage; T2
= generic_wide_int<wide_int_ref_storage<true, false> >]’ at
../../gcc/wide-int.h:2187:37,
    inlined from ‘wide_int_storage& wide_int_storage::operator=(const T&) [with
T = wi::hwi_with_prec]’ at ../../gcc/wide-int.h:1247:12,
    inlined from ‘generic_wide_int<storage>&
generic_wide_int<T>::operator=(const T&) [with T = wi::hwi_with_prec; storage =
wide_int_storage]’ at ../../gcc/wide-int.h:1002:23,
    inlined from ‘void irange_bitmask::set_unknown(unsigned int)’ at
../../gcc/value-range.h:185:27,
    inlined from ‘virtual void irange::set_varying(tree)’ at
../../gcc/value-range.h:1245:25,
    inlined from ‘int_range<N, RESIZABLE>::int_range(tree) [with unsigned int N
= 3; bool RESIZABLE = true]’ at ../../gcc/value-range.h:1207:15,
    inlined from ‘bool {anonymous}::memmodel_to_uhwi(tree, gimple*, long
unsigned int*)’ at ../../gcc/gimple-ssa-warn-access.cc:2870:41:
../../gcc/wide-int.h:1272:73: error: ‘rng.int_range<3,
true>::<unnamed>.irange::m_bitmask.irange_bitmask::m_value.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::u.wide_int_storage::<unnamed
union>::valp’ may be used uninitialized [-Werror=maybe-uninitialized]
 1272 |   return UNLIKELY (precision > WIDE_INT_MAX_INL_PRECISION) ? u.valp :
u.val;
      |                                                                        
^~~
../../gcc/gimple-ssa-warn-access.cc: In function ‘bool
{anonymous}::memmodel_to_uhwi(tree, gimple*, long unsigned int*)’:
../../gcc/gimple-ssa-warn-access.cc:2870:21: note: ‘rng’ declared here
 2870 |       int_range_max rng (TREE_TYPE (ord));
      |                     ^~~
In member function ‘long int* wide_int_storage::write_val(unsigned int)’,
    inlined from ‘void wi::copy(T1&, const T2&) [with T1 = wide_int_storage; T2
= generic_wide_int<wide_int_ref_storage<true, false> >]’ at
../../gcc/wide-int.h:2187:37,
    inlined from ‘wide_int_storage& wide_int_storage::operator=(const T&) [with
T = wi::hwi_with_prec]’ at ../../gcc/wide-int.h:1247:12,
    inlined from ‘generic_wide_int<storage>&
generic_wide_int<T>::operator=(const T&) [with T = wi::hwi_with_prec; storage =
wide_int_storage]’ at ../../gcc/wide-int.h:1002:23,
    inlined from ‘void irange_bitmask::set_unknown(unsigned int)’ at
../../gcc/value-range.h:185:27,
    inlined from ‘virtual void irange::set_varying(tree)’ at
../../gcc/value-range.h:1245:25,
    inlined from ‘int_range<N, RESIZABLE>::int_range(tree) [with unsigned int N
= 3; bool RESIZABLE = true]’ at ../../gcc/value-range.h:1207:15,
    inlined from ‘bool check_nul_terminated_array(GimpleOrTree, tree, tree)
[with GimpleOrTree = gimple*]’ at ../../gcc/gimple-ssa-warn-access.cc:338:21:
../../gcc/wide-int.h:1272:73: error: ‘r.int_range<3,
true>::<unnamed>.irange::m_bitmask.irange_bitmask::m_value.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::u.wide_int_storage::<unnamed
union>::valp’ may be used uninitialized [-Werror=maybe-uninitialized]
 1272 |   return UNLIKELY (precision > WIDE_INT_MAX_INL_PRECISION) ? u.valp :
u.val;
      |                                                                        
^~~
../../gcc/gimple-ssa-warn-access.cc: In function ‘bool
check_nul_terminated_array(GimpleOrTree, tree, tree) [with GimpleOrTree =
gimple*]’:
../../gcc/gimple-ssa-warn-access.cc:338:21: note: ‘r’ declared here
  338 |       int_range_max r (TREE_TYPE (bound));
      |                     ^
In member function ‘long int* wide_int_storage::write_val(unsigned int)’,
    inlined from ‘void wi::copy(T1&, const T2&) [with T1 = wide_int_storage; T2
= generic_wide_int<wide_int_ref_storage<true, false> >]’ at
../../gcc/wide-int.h:2187:37,
    inlined from ‘wide_int_storage& wide_int_storage::operator=(const T&) [with
T = wi::hwi_with_prec]’ at ../../gcc/wide-int.h:1247:12,
    inlined from ‘generic_wide_int<storage>&
generic_wide_int<T>::operator=(const T&) [with T = wi::hwi_with_prec; storage =
wide_int_storage]’ at ../../gcc/wide-int.h:1002:23,
    inlined from ‘void irange_bitmask::set_unknown(unsigned int)’ at
../../gcc/value-range.h:185:27,
    inlined from ‘virtual void irange::set_varying(tree)’ at
../../gcc/value-range.h:1245:25,
    inlined from ‘int_range<N, RESIZABLE>::int_range(tree) [with unsigned int N
= 3; bool RESIZABLE = true]’ at ../../gcc/value-range.h:1207:15,
    inlined from ‘bool check_nul_terminated_array(GimpleOrTree, tree, tree)
[with GimpleOrTree = tree_node*]’ at
../../gcc/gimple-ssa-warn-access.cc:338:21:
../../gcc/wide-int.h:1272:73: error: ‘r.int_range<3,
true>::<unnamed>.irange::m_bitmask.irange_bitmask::m_value.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::u.wide_int_storage::<unnamed
union>::valp’ may be used uninitialized [-Werror=maybe-uninitialized]
 1272 |   return UNLIKELY (precision > WIDE_INT_MAX_INL_PRECISION) ? u.valp :
u.val;
      |                                                                        
^~~
../../gcc/gimple-ssa-warn-access.cc: In function ‘bool
check_nul_terminated_array(GimpleOrTree, tree, tree) [with GimpleOrTree =
tree_node*]’:
../../gcc/gimple-ssa-warn-access.cc:338:21: note: ‘r’ declared here
  338 |       int_range_max r (TREE_TYPE (bound));
      |                     ^
In member function ‘long int* wide_int_storage::write_val(unsigned int)’,
    inlined from ‘void wi::copy(T1&, const T2&) [with T1 = wide_int_storage; T2
= generic_wide_int<wide_int_ref_storage<true, false> >]’ at
../../gcc/wide-int.h:2187:37,
    inlined from ‘wide_int_storage& wide_int_storage::operator=(const T&) [with
T = wi::hwi_with_prec]’ at ../../gcc/wide-int.h:1247:12,
    inlined from ‘generic_wide_int<storage>&
generic_wide_int<T>::operator=(const T&) [with T = wi::hwi_with_prec; storage =
wide_int_storage]’ at ../../gcc/wide-int.h:1002:23,
    inlined from ‘void irange_bitmask::set_unknown(unsigned int)’ at
../../gcc/value-range.h:185:27,
    inlined from ‘virtual void irange::set_varying(tree)’ at
../../gcc/value-range.h:1245:25,
    inlined from ‘int_range<N, RESIZABLE>::int_range(tree) [with unsigned int N
= 3; bool RESIZABLE = true]’ at ../../gcc/value-range.h:1207:15,
    inlined from ‘bool check_nul_terminated_array(GimpleOrTree, tree, tree)
[with GimpleOrTree = gcall*]’ at ../../gcc/gimple-ssa-warn-access.cc:338:21:
../../gcc/wide-int.h:1272:73: error: ‘r.int_range<3,
true>::<unnamed>.irange::m_bitmask.irange_bitmask::m_value.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::u.wide_int_storage::<unnamed
union>::valp’ may be used uninitialized [-Werror=maybe-uninitialized]
 1272 |   return UNLIKELY (precision > WIDE_INT_MAX_INL_PRECISION) ? u.valp :
u.val;
      |                                                                        
^~~
../../gcc/gimple-ssa-warn-access.cc: In function ‘bool
check_nul_terminated_array(GimpleOrTree, tree, tree) [with GimpleOrTree =
gcall*]’:
../../gcc/gimple-ssa-warn-access.cc:338:21: note: ‘r’ declared here
  338 |       int_range_max r (TREE_TYPE (bound));
      |                     ^
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:1218: gimple-ssa-warn-access.o] Error 1

Reply via email to