[hjl@gnu-tools-1 gcc]$ /export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/g++ -B/export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/ -B/usr/gcc-4.8.0/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/.libs -I/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/export/gnu/import/git/sources/gcc/libstdc++-v3/libsupc++ -L/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -c -g -O2 -faddress-sanitizer -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/export/gnu/import/git/sources/gcc/gcc -I/export/gnu/import/git/sources/gcc/gcc/. -I/export/gnu/import/git/sources/gcc/gcc/../include -I/export/gnu/import/git/sources/gcc/gcc/../libcpp/include -I/export/gnu/import/git/sources/gcc/gcc/../libdecnumber -I/export/gnu/import/git/sources/gcc/gcc/../libdecnumber/bid -I../libdecnumber -I/export/gnu/import/git/sources/gcc/gcc/../libbacktrace /export/gnu/import/git/sources/gcc/gcc/explow.c -o explow.o /export/gnu/import/git/sources/gcc/gcc/explow.c: In function ‘rtx_def* plus_constant(machine_mode, rtx, long int)’: /export/gnu/import/git/sources/gcc/gcc/explow.c:84:7: error: ‘y’ may be used uninitialized in this function [-Werror=uninitialized] rtx y; ^ cc1plus: all warnings being treated as errors [hjl@gnu-tools-1 gcc]$ /export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/g++ -B/export/build/gnu/gcc-asan/build-x86_64-linux/./prev-gcc/ -B/usr/gcc-4.8.0/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libsanitizer/asan/.libs -I/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/export/gnu/import/git/sources/gcc/libstdc++-v3/libsupc++ -L/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/export/build/gnu/gcc-asan/build-x86_64-linux/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/export/gnu/import/git/sources/gcc/gcc -I/export/gnu/import/git/sources/gcc/gcc/. -I/export/gnu/import/git/sources/gcc/gcc/../include -I/export/gnu/import/git/sources/gcc/gcc/../libcpp/include -I/export/gnu/import/git/sources/gcc/gcc/../libdecnumber -I/export/gnu/import/git/sources/gcc/gcc/../libdecnumber/bid -I../libdecnumber -I/export/gnu/import/git/sources/gcc/gcc/../libbacktrace /export/gnu/import/git/sources/gcc/gcc/explow.c -o explow.o [hjl@gnu-tools-1 gcc]$
Also /export/gnu/import/git/gcc/libgfortran/intrinsics/unpack_generic.c: In function ‘unpack_internal’: /export/gnu/import/git/gcc/libgfortran/intrinsics/unpack_generic.c:149:12: warning: ‘rstride[0]’ may be used uninitialized in this function [-Wuninitialized] rstride0 = rstride[0]; ^ /export/gnu/import/git/gcc/libgfortran/intrinsics/unpack_generic.c:150:12: warning: ‘fstride[0]’ may be used uninitialized in this function [-Wuninitialized] fstride0 = fstride[0]; ^ /export/gnu/import/git/gcc/libgfortran/intrinsics/unpack_generic.c:151:12: warning: ‘mstride[0]’ may be used uninitialized in this function [-Wuninitialized] mstride0 = mstride[0]; ^
seen as well, workaround: configure with --disable-werror
In a recent build of GCC 11 I count 69 instances of -Wmaybe-uninitialized without sanitization but not one looking like the one in comment #0. I don't have a sanitized build handy but the instrumentation injected by the sanitizers is known to induce false positives, so (I think) GCC builds with -Wno-error=maybe-uniitialized when sanitization is enabled. There are a lot of bugs against the warning with small test cases and odds are that one of them captures the essence of this ancient bug if it is, in fact, a bug and if it hasn't disappeared by now. Since there's been no activity on this bug in almost a decade I'm going to resolve this report as WONTFIX. If it's still reproducible please reopen and attach a standalone test case to make it easy to reproduce.