https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81306
Bug ID: 81306 Summary: valgrind error for function warn_for_multistatement_macros in file c-warn.c line 2474 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- I just tried a valgrind build of trunk gcc and valgrind said this: ==19127== Conditional jump or move depends on uninitialised value(s) ==19127== at 0x660AB4: warn_for_multistatement_macros(unsigned int, unsigned int, unsigned int, rid) (c-warn.c:2474) ==19127== by 0x5D2A85: c_parser_else_body (c-parser.c:5569) ==19127== by 0x5D2A85: c_parser_if_statement (c-parser.c:5678) ==19127== by 0x5D2A85: c_parser_statement_after_labels(c_parser*, bool*, vec<tree_node*, va_heap, vl_ptr>*) (c-parser.c:5243) File c-warn.c, line 2474 is this code if (MACRO_MAP_LOCATIONS (macro_map)[i] == next_loc_exp) Configure line is ../trunk/configure --prefix=/home/dcb/gcc/results.249949 \ --disable-bootstrap \ --disable-multilib \ --disable-werror \ --enable-checking=valgrind \ --enable-languages=c,c++,fortran and there is some extra fiddling to get -O3 in the top level Makefile: sed 's/-O2/-O3 -Wall -Wlogical-op/' < Makefile > Makefile.tmp mv Makefile.tmp Makefile