Hi Richard, Catherine, Matthew On Thu, 2017-03-02 14:40:46 +0100, Richard Biener wrote: [...] > On IRC we decided to wait&see for the TREE_NO_WARNING issue. So the > following is what I committed. > > Bootstrapped / tested on x86_64-unknown-linux-gnu. [...] > 2017-03-02 Richard Biener > > PR tree-optimization/79345 > PR c++/42000 > * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit > param and abort the walk, returning -1 if it is hit. > (walk_aliased_vdefs): Take a limit param and pass it on. > * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param, > defaulting to 0 and return a signed int. > * tree-ssa-uninit.c (struct check_defs_data): New struct. > (check_defs): New helper. > (warn_uninitialized_vars): Use walk_aliased_vdefs to warn > about uninitialized memory. > > * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid > bogus uninitialized warning. > (fixed_convert_from_real): Likewise. > > * g++.dg/warn/Wuninitialized-7.C: New testcase. > * c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized. > * gcc.dg/uninit-pr19430-2.c: Add expected warning. When building with config-list.mk, it seems to break for all of the listed MIPS targets, but not on any other architecture: [...] g++ -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/scratch/4/jbglaw/configlist/repos/gcc/gcc -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/. -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/../include -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/../libdecnumber -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/scratch/4/jbglaw/configlist/repos/gcc/gcc/../libbacktrace -o mips.o -MT mips.o -MMD -MP -MF ./.deps/mips.TPo /scratch/4/jbglaw/configlist/repos/gcc/gcc/config/mips/mips.c In file included from /scratch/4/jbglaw/configlist/repos/gcc/gcc/hash-table.h:236:0, from /scratch/4/jbglaw/configlist/repos/gcc/gcc/coretypes.h:369, from /scratch/4/jbglaw/configlist/repos/gcc/gcc/config/mips/mips.c:26: /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h: In function ‘mips_multi_member* mips_multi_add()’: /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h:865:3: error: ‘empty’ may be used uninitialized in this function [-Werror=maybe-uninitialized] *slot = obj; ^ /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h: In function ‘void mips_process_sync_loop(rtx_insn*, rtx_def**)’: /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h:865:3: error: ‘empty’ may be used uninitialized in this function [-Werror=maybe-uninitialized] *slot = obj; ^ /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h:865:3: error: ‘empty’ may be used uninitialized in this function [-Werror=maybe-uninitialized] *slot = obj; ^ /scratch/4/jbglaw/configlist/repos/gcc/gcc/vec.h:865:3: error: ‘empty’ may be used uninitialized in this function [-Werror=maybe-uninitialized] *slot = obj; ^ /scratch/4/jbglaw/configlist/repos/gcc/gcc/config/mips/mips.c: In function ‘bool mips_expand_vec_perm_const(rtx_def**)’: /scratch/4/jbglaw/configlist/repos/gcc/gcc/config/mips/mips.c:21362:10: error: ‘orig_perm’ may be used uninitialized in this function [-Werror=maybe-uninitialized] memcpy (d.perm, orig_perm, MAX_VECT_LEN); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [mips.o] Error 1 See eg. all the most recent builds: mips64el-st-linux-gnu: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699675 mips64orion-elf: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699678 mipsisa32r2-linux-gnu: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699702 mipsisa32-elfoabi: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699701 mipsisa64sb1-elf: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699724 mipsisa64sr71k-elf: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699726 mips-netbsd: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=699750 MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 Signature of: God put me on earth to accomplish a certain number of the second : things. Right now I am so far behind I will never die.