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

            Bug ID: 79814
           Summary: pass-instances.def:36:14: error:
                    ‘*<unknown>.gcc::pass_manager::pass_warn_unused_result
                    _1’ is used uninitialized in this function
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
                CC: dmalcolm at gcc dot gnu.org
  Target Milestone: ---

With a slightly enhanced Wuninitialized I get a bootstrap failure:

/tmp/obj/./prev-gcc/xg++ -B/tmp/obj/./prev-gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs 
-I/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu 
-I/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/include 
-I/tmp/trunk/libstdc++-v3/libsupc++
-L/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/tmp/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -fno-PIE -c  
-g -O2 -DIN_GCC     -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../../trunk/gcc -I../../trunk/gcc/. -I../../trunk/gcc/../include
-I../../trunk/gcc/../libcpp/include  -I../../trunk/gcc/../libdecnumber
-I../../trunk/gcc/../libdecnumber/bid -I../libdecnumber
-I../../trunk/gcc/../libbacktrace   -o passes.o -MT passes.o -MMD -MP -MF
./.deps/passes.TPo ../../trunk/gcc/passes.c
In file included from ../../trunk/gcc/passes.c:1595:0:
./pass-instances.def: In constructor
‘gcc::pass_manager::pass_manager(gcc::context*)’:
./pass-instances.def:36:14: error:
‘*<unknown>.gcc::pass_manager::pass_warn_unused_result_1’ is used uninitialized
in this function [-Werror=uninitialized]
   NEXT_PASS (pass_warn_unused_result, 1);
              ^~~~~~~~~~~~~~~~~~~~~~~

it looks like pass_warn_unused_result_1 is used before initialization.

CCing david who invented this C++ stuff I think.

Reply via email to