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

Reply via email to