http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55418
Bug #: 55418 Summary: Valgrind: Conditional jump or move depends on uninitialised value(s) in implicitly_declare_fn() method.c:1623 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mar...@trippelsdorf.de Just saw this during a -enable-checking=yes,valgrind build: % /var/tmp/gcc_valgrind/usr/local/bin/g++ -std=gnu++11 -c /home/markus/gcc/libstdc++-v3/src/c++11/functexcept.cc ==1267== Conditional jump or move depends on uninitialised value(s) ==1267== at 0x637C0F: implicitly_declare_fn(special_function_kind, tree_node*, bool, tree_node*, tree_node*) (method.c:1623) ==1267== by 0x6392DF: lazily_declare_fn(special_function_kind, tree_node*) (method.c:1894) ==1267== by 0x63FB74: lookup_fnfields_1(tree_node*, tree_node*) (search.c:1441) ==1267== by 0x63FD3B: lookup_fnfields_slot(tree_node*, tree_node*) (search.c:1471) ==1267== by 0x64367B: lookup_field_r(tree_node*, void*) (search.c:1031) ==1267== by 0x6400CE: dfs_walk_all(tree_node*, tree_node* (*)(tree_node*, void*), tree_node* (*)(tree_node*, void*), void*) (search.c:1572) ==1267== by 0x6402E7: lookup_member(tree_node*, tree_node*, int, bool, int) (search.c:1204) ==1267== by 0x640640: lookup_fnfields(tree_node*, tree_node*, int) (search.c:1295) ==1267== by 0x4DF3B0: build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) (call.c:7282) ==1267== by 0x4E0693: convert_like_real(conversion*, tree_node*, tree_node*, int, int, bool, bool, int) (call.c:5718) ==1267== by 0x4E1D91: build_over_call(z_candidate*, int, int) (call.c:6867) ==1267== by 0x4DE229: build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) (call.c:7668) ==1267== Looks like some booleans in implicitly_declare_fn should be initialised.