https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68438
Bug ID: 68438 Summary: [6 Regression] Conditional jump or move depends on uninitialised value in location_adhoc_data_eq (line-map.c:89) Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: objc Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Hi. Looks objc test-suite contains many valgrind errors: Command: valgrind --leak-check=yes --trace-children=yes --num-callers=100 gcc /home/marxin/Programming/gcc/gcc/testsuite/objc.dg/call-super-2.m -c ==8665== Conditional jump or move depends on uninitialised value(s) ==8665== at 0x169A8D6: location_adhoc_data_eq(void const*, void const*) (line-map.c:89) ==8665== by 0x16CDB3C: htab_find_slot_with_hash (hashtab.c:679) ==8665== by 0x169B5DC: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:214) ==8665== by 0xFFEAE9: COMBINE_LOCATION_DATA(line_maps*, unsigned int, source_range, void*) (line-map.h:1004) ==8665== by 0xFFCE0B: set_source_range(tree_node*, source_range) (tree.c:13936) ==8665== by 0xFFCD5A: set_source_range(tree_node*, unsigned int, unsigned int) (tree.c:13923) ==8665== by 0x804E73: c_fully_fold_internal(tree_node*, bool, bool*, bool*, bool) (c-common.c:1639) ==8665== by 0x803C7A: c_fully_fold_internal(tree_node*, bool, bool*, bool*, bool) (c-common.c:1372) ==8665== by 0x803497: c_fully_fold(tree_node*, bool, bool*) (c-common.c:1162) ==8665== by 0x7CA952: build_modify_expr(unsigned int, tree_node*, tree_node*, tree_code, unsigned int, tree_node*, tree_node*) (c-typeck.c:5545) ==8665== by 0x7DA5F8: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6149) ==8665== by 0x7E0CFF: c_parser_expression(c_parser*) (c-parser.c:8250) ==8665== by 0x7E0F38: c_parser_expression_conv(c_parser*) (c-parser.c:8283) ==8665== by 0x7D82FF: c_parser_statement_after_labels(c_parser*, vec<tree_node*, va_heap, vl_ptr>*) (c-parser.c:5177) ==8665== by 0x7D781D: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4762) ==8665== by 0x7D724D: c_parser_compound_statement(c_parser*) (c-parser.c:4599) ==8665== by 0x7E1FFC: c_parser_objc_method_definition(c_parser*) (c-parser.c:8821) ==8665== by 0x7D0FA9: c_parser_external_declaration(c_parser*) (c-parser.c:1449) ==8665== by 0x7D0BF1: c_parser_translation_unit(c_parser*) (c-parser.c:1348) ==8665== by 0x7FB922: c_parse_file() (c-parser.c:17658) ==8665== by 0x850A92: c_common_parse_file() (c-opts.c:1064) ==8665== by 0xD41AF8: compile_file() (toplev.c:464) ==8665== by 0xD43F4F: do_compile() (toplev.c:1951) ==8665== by 0xD441CE: toplev::main(int, char**) (toplev.c:2058) ==8665== by 0x166391D: main (main.c:39) ==8665== /home/marxin/Programming/gcc/gcc/testsuite/objc.dg/call-super-2.m:134:4: warning: ‘-categ_instance_func2’ not found in protocol(s) i += (size_t)[(id <Func>)self categ_instance_func2]; /* { dg-warning ".\\-categ_instance_func2. not found in protocol" } */ ^ /home/marxin/Programming/gcc/gcc/testsuite/objc.dg/call-super-2.m:136:4: warning: ‘TestsuiteObject’ may not respond to ‘-instance_func0’ return i + (size_t)[super instance_func0]; /* { dg-warning ".TestsuiteObject. may not respond to .\\-instance_func0." } */ ^~~~~~ ==8665== Use of uninitialised value of size 8 ==8665== at 0x16CDA83: htab_find_slot_with_hash (hashtab.c:655) ==8665== by 0x169B5DC: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:214) ==8665== by 0xFFEAE9: COMBINE_LOCATION_DATA(line_maps*, unsigned int, source_range, void*) (line-map.h:1004) ==8665== by 0xFFCD27: set_block(unsigned int, tree_node*) (tree.c:13914) ==8665== by 0x156A9C4: gimple_set_block(gimple*, tree_node*) (gimple.h:1744) ==8665== by 0x156B4A6: lower_stmt(gimple_stmt_iterator*, lower_data*) (gimple-low.c:236) ==8665== by 0x156B3D8: lower_sequence(gimple**, lower_data*) (gimple-low.c:203) ==8665== by 0x156B586: lower_stmt(gimple_stmt_iterator*, lower_data*) (gimple-low.c:272) ==8665== by 0x156B3D8: lower_sequence(gimple**, lower_data*) (gimple-low.c:203) ==8665== by 0x156B94E: lower_gimple_bind(gimple_stmt_iterator*, lower_data*) (gimple-low.c:418) ==8665== by 0x156B0EB: lower_function_body() (gimple-low.c:107) ==8665== by 0x156B33C: (anonymous namespace)::pass_lower_cf::execute(function*) (gimple-low.c:181) ==8665== by 0xC39BF9: execute_one_pass(opt_pass*) (passes.c:2335) ==8665== by 0xC39EFC: execute_pass_list_1(opt_pass*) (passes.c:2408) ==8665== by 0xC39F85: execute_pass_list(function*, opt_pass*) (passes.c:2419) ==8665== by 0x904119: cgraph_node::analyze() (cgraphunit.c:634) ==8665== by 0x9051B9: analyze_functions(bool) (cgraphunit.c:1078) ==8665== by 0x908B48: symbol_table::finalize_compilation_unit() (cgraphunit.c:2518) ==8665== by 0xD41B80: compile_file() (toplev.c:489) ==8665== by 0xD43F4F: do_compile() (toplev.c:1951) ==8665== by 0xD441CE: toplev::main(int, char**) (toplev.c:2058) ==8665== by 0x166391D: main (main.c:39) ==8665== ==8665== Use of uninitialised value of size 8 ==8665== at 0x169B5E0: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:215) ==8665== by 0xFFEAE9: COMBINE_LOCATION_DATA(line_maps*, unsigned int, source_range, void*) (line-map.h:1004) ==8665== by 0xFFCD27: set_block(unsigned int, tree_node*) (tree.c:13914) ==8665== by 0x156A9C4: gimple_set_block(gimple*, tree_node*) (gimple.h:1744) ==8665== by 0x156B4A6: lower_stmt(gimple_stmt_iterator*, lower_data*) (gimple-low.c:236) ==8665== by 0x156B3D8: lower_sequence(gimple**, lower_data*) (gimple-low.c:203) ==8665== by 0x156B586: lower_stmt(gimple_stmt_iterator*, lower_data*) (gimple-low.c:272) ==8665== by 0x156B3D8: lower_sequence(gimple**, lower_data*) (gimple-low.c:203) ==8665== by 0x156B94E: lower_gimple_bind(gimple_stmt_iterator*, lower_data*) (gimple-low.c:418) ==8665== by 0x156B0EB: lower_function_body() (gimple-low.c:107) ==8665== by 0x156B33C: (anonymous namespace)::pass_lower_cf::execute(function*) (gimple-low.c:181) ==8665== by 0xC39BF9: execute_one_pass(opt_pass*) (passes.c:2335) ==8665== by 0xC39EFC: execute_pass_list_1(opt_pass*) (passes.c:2408) ==8665== by 0xC39F85: execute_pass_list(function*, opt_pass*) (passes.c:2419) ==8665== by 0x904119: cgraph_node::analyze() (cgraphunit.c:634) ==8665== by 0x9051B9: analyze_functions(bool) (cgraphunit.c:1078) ==8665== by 0x908B48: symbol_table::finalize_compilation_unit() (cgraphunit.c:2518) ==8665== by 0xD41B80: compile_file() (toplev.c:489) ==8665== by 0xD43F4F: do_compile() (toplev.c:1951) ==8665== by 0xD441CE: toplev::main(int, char**) (toplev.c:2058) ==8665== by 0x166391D: main (main.c:39) Thanks, Martin