https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69627
Bug ID: 69627 Summary: [6 Regression] Conditional jump or move depends on uninitialised value(s) in (anonymous namespace)::layout::get_state_at_point Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Hello. $ cat tc2.c typedef float __m128; void test_1 () { __m128 myvec[2]; int const *ptr; myvec[1]/ptr; } $ valgrind --leak-check=yes --trace-children=yes ./gcc/xgcc -B gcc tc2.c produces: ==14470== Conditional jump or move depends on uninitialised value(s) ==14470== at 0x1901E24: (anonymous namespace)::layout::get_state_at_point(int, int, int, int, (anonymous namespace)::point_state*) (diagnostic-show-locus.c:725) ==14470== by 0x1901861: (anonymous namespace)::layout::print_source_line(int, (anonymous namespace)::line_bounds*) (diagnostic-show-locus.c:561) ==14470== by 0x190210A: diagnostic_show_locus(diagnostic_context*, diagnostic_info const*) (diagnostic-show-locus.c:835) ==14470== by 0x8B50E6: c_diagnostic_finalizer(diagnostic_context*, diagnostic_info*) (c-opts.c:167) ==14470== by 0x18FEBCC: diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) (diagnostic.c:800) ==14470== by 0x18FFF96: error_at_rich_loc(rich_location*, char const*, ...) (diagnostic.c:1173) ==14470== by 0x85E415: binary_op_error(rich_location*, tree_code, tree_node*, tree_node*) (c-common.c:3865) ==14470== by 0x7FF1E0: build_binary_op(unsigned int, tree_code, tree_node*, tree_node*, int) (c-typeck.c:11577) ==14470== by 0x7DF958: parser_build_binary_op(unsigned int, tree_code, c_expr, c_expr) (c-typeck.c:3515) ==14470== by 0x81D970: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6636) ==14470== by 0x81C27B: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6279) ==14470== by 0x81BF8B: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6196) ==14470== ==14470== Conditional jump or move depends on uninitialised value(s) ==14470== at 0x1901E24: (anonymous namespace)::layout::get_state_at_point(int, int, int, int, (anonymous namespace)::point_state*) (diagnostic-show-locus.c:725) ==14470== by 0x190199F: (anonymous namespace)::layout::print_annotation_line(int, (anonymous namespace)::line_bounds) (diagnostic-show-locus.c:603) ==14470== by 0x1902129: diagnostic_show_locus(diagnostic_context*, diagnostic_info const*) (diagnostic-show-locus.c:837) ==14470== by 0x8B50E6: c_diagnostic_finalizer(diagnostic_context*, diagnostic_info*) (c-opts.c:167) ==14470== by 0x18FEBCC: diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) (diagnostic.c:800) ==14470== by 0x18FFF96: error_at_rich_loc(rich_location*, char const*, ...) (diagnostic.c:1173) ==14470== by 0x85E415: binary_op_error(rich_location*, tree_code, tree_node*, tree_node*) (c-common.c:3865) ==14470== by 0x7FF1E0: build_binary_op(unsigned int, tree_code, tree_node*, tree_node*, int) (c-typeck.c:11577) ==14470== by 0x7DF958: parser_build_binary_op(unsigned int, tree_code, c_expr, c_expr) (c-typeck.c:3515) ==14470== by 0x81D970: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6636) ==14470== by 0x81C27B: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.c:6279) ==14470== by 0x81BF8B: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.c:6196) Thanks, Martin