https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71171
Bug ID: 71171 Summary: [6/7 Regression] Conditional jump or move depends on uninitialised value(s) in can_be_stored_compactly_p (line-map.c:148) Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Hello. Following test-case uses an uninitialized memory: gcc/testsuite/c-c++-common/goacc/asyncwait-1.c Reduced test-case: $ cat tc.c void f ( void) { #pragma acc parallel copyin copy async (*) $ valgrind --trace-children=yes gcc tc.c -fopenacc ==29528== Conditional jump or move depends on uninitialised value(s) ==29528== at 0x10712FE: can_be_stored_compactly_p (line-map.c:148) ==29528== by 0x10712FE: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:190) ==29528== by 0xBE1037: COMBINE_LOCATION_DATA (line-map.h:993) ==29528== by 0xBE1037: make_location(unsigned int, unsigned int, unsigned int) (tree.c:14045) ==29528== by 0x618F99: c_parser_unary_expression(c_parser*) (c-parser.c:6846) ==29528== by 0x619F27: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.c:6759) ==29528== by 0x61A142: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6568) ==29528== by 0x61ADA5: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6339) ==29528== by 0x61B2B0: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6256) ==29528== by 0x61B852: c_parser_expression(c_parser*) (c-parser.c:8443) ==29528== by 0x60EA78: c_parser_oacc_clause_async (c-parser.c:11727) ==29528== by 0x60EA78: c_parser_oacc_all_clauses(c_parser*, omp_clause_mask, char const*, bool) (c-parser.c:13015) ==29528== by 0x60F7E8: c_parser_oacc_kernels_parallel (c-parser.c:13936) ==29528== by 0x60F7E8: c_parser_omp_construct (c-parser.c:17140) ==29528== by 0x60F7E8: c_parser_pragma(c_parser*, pragma_context, bool*) (c-parser.c:10207) ==29528== by 0x615FAE: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4826) ==29528== by 0x62749E: c_parser_compound_statement(c_parser*) (c-parser.c:4693) ==29528== ==29528== Conditional jump or move depends on uninitialised value(s) ==29528== at 0x107136B: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:209) ==29528== by 0xBE1037: COMBINE_LOCATION_DATA (line-map.h:993) ==29528== by 0xBE1037: make_location(unsigned int, unsigned int, unsigned int) (tree.c:14045) ==29528== by 0x618F99: c_parser_unary_expression(c_parser*) (c-parser.c:6846) ==29528== by 0x619F27: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.c:6759) ==29528== by 0x61A142: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6568) ==29528== by 0x61ADA5: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6339) ==29528== by 0x61B2B0: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6256) ==29528== by 0x61B852: c_parser_expression(c_parser*) (c-parser.c:8443) ==29528== by 0x60EA78: c_parser_oacc_clause_async (c-parser.c:11727) ==29528== by 0x60EA78: c_parser_oacc_all_clauses(c_parser*, omp_clause_mask, char const*, bool) (c-parser.c:13015) ==29528== by 0x60F7E8: c_parser_oacc_kernels_parallel (c-parser.c:13936) ==29528== by 0x60F7E8: c_parser_omp_construct (c-parser.c:17140) ==29528== by 0x60F7E8: c_parser_pragma(c_parser*, pragma_context, bool*) (c-parser.c:10207) ==29528== by 0x615FAE: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4826) ==29528== by 0x62749E: c_parser_compound_statement(c_parser*) (c-parser.c:4693) ==29528== ==29528== Use of uninitialised value of size 8 ==29528== at 0x10A3A93: htab_find_slot_with_hash (hashtab.c:655) ==29528== by 0x10713A4: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:220) ==29528== by 0xBE1037: COMBINE_LOCATION_DATA (line-map.h:993) ==29528== by 0xBE1037: make_location(unsigned int, unsigned int, unsigned int) (tree.c:14045) ==29528== by 0x618F99: c_parser_unary_expression(c_parser*) (c-parser.c:6846) ==29528== by 0x619F27: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.c:6759) ==29528== by 0x61A142: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6568) ==29528== by 0x61ADA5: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6339) ==29528== by 0x61B2B0: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6256) ==29528== by 0x61B852: c_parser_expression(c_parser*) (c-parser.c:8443) ==29528== by 0x60EA78: c_parser_oacc_clause_async (c-parser.c:11727) ==29528== by 0x60EA78: c_parser_oacc_all_clauses(c_parser*, omp_clause_mask, char const*, bool) (c-parser.c:13015) ==29528== by 0x60F7E8: c_parser_oacc_kernels_parallel (c-parser.c:13936) ==29528== by 0x60F7E8: c_parser_omp_construct (c-parser.c:17140) ==29528== by 0x60F7E8: c_parser_pragma(c_parser*, pragma_context, bool*) (c-parser.c:10207) ==29528== by 0x615FAE: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4826) ==29528== ==29528== Use of uninitialised value of size 8 ==29528== at 0x10713A8: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:221) ==29528== by 0xBE1037: COMBINE_LOCATION_DATA (line-map.h:993) ==29528== by 0xBE1037: make_location(unsigned int, unsigned int, unsigned int) (tree.c:14045) ==29528== by 0x618F99: c_parser_unary_expression(c_parser*) (c-parser.c:6846) ==29528== by 0x619F27: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.c:6759) ==29528== by 0x61A142: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6568) ==29528== by 0x61ADA5: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6339) ==29528== by 0x61B2B0: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6256) ==29528== by 0x61B852: c_parser_expression(c_parser*) (c-parser.c:8443) ==29528== by 0x60EA78: c_parser_oacc_clause_async (c-parser.c:11727) ==29528== by 0x60EA78: c_parser_oacc_all_clauses(c_parser*, omp_clause_mask, char const*, bool) (c-parser.c:13015) ==29528== by 0x60F7E8: c_parser_oacc_kernels_parallel (c-parser.c:13936) ==29528== by 0x60F7E8: c_parser_omp_construct (c-parser.c:17140) ==29528== by 0x60F7E8: c_parser_pragma(c_parser*, pragma_context, bool*) (c-parser.c:10207) ==29528== by 0x615FAE: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4826) ==29528== by 0x62749E: c_parser_compound_statement(c_parser*) (c-parser.c:4693) ==29528== ==29528== Use of uninitialised value of size 8 ==29528== at 0x107146C: get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) (line-map.c:247) ==29528== by 0xBE1037: COMBINE_LOCATION_DATA (line-map.h:993) ==29528== by 0xBE1037: make_location(unsigned int, unsigned int, unsigned int) (tree.c:14045) ==29528== by 0x618F99: c_parser_unary_expression(c_parser*) (c-parser.c:6846) ==29528== by 0x619F27: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.c:6759) ==29528== by 0x61A142: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6568) ==29528== by 0x61ADA5: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6339) ==29528== by 0x61B2B0: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6256) ==29528== by 0x61B852: c_parser_expression(c_parser*) (c-parser.c:8443) ==29528== by 0x60EA78: c_parser_oacc_clause_async (c-parser.c:11727) ==29528== by 0x60EA78: c_parser_oacc_all_clauses(c_parser*, omp_clause_mask, char const*, bool) (c-parser.c:13015) ==29528== by 0x60F7E8: c_parser_oacc_kernels_parallel (c-parser.c:13936) ==29528== by 0x60F7E8: c_parser_omp_construct (c-parser.c:17140) ==29528== by 0x60F7E8: c_parser_pragma(c_parser*, pragma_context, bool*) (c-parser.c:10207) ==29528== by 0x615FAE: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4826) ==29528== by 0x62749E: c_parser_compound_statement(c_parser*) (c-parser.c:4693) GCC 6 branch has the same issue, 5.3.1 looks fine. Martin