Fix rust_dump_subexp_body
rust_dump_subexp_body was not correct in a couple of cases. While debugging the bug I was really interested in, this caused a crash. This patch fixes the problems. No test case because, IIRC there generally aren't tests for expression dumping. ChangeLog 2017-05-12 Tom Tromey <tom@tromey.com> * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS, OP_RUST_ARRAY>: Fix.
This commit is contained in:
parent
256afbc259
commit
68f2f2e308
|
@ -1,3 +1,8 @@
|
|||
2017-05-12 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
|
||||
OP_RUST_ARRAY>: Fix.
|
||||
|
||||
2017-05-12 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* rust-lang.c (rust_print_subexp): Replace "return" with "break".
|
||||
|
|
|
@ -1951,14 +1951,15 @@ rust_dump_subexp_body (struct expression *exp, struct ui_file *stream,
|
|||
{
|
||||
int field_number;
|
||||
|
||||
field_number = longest_to_int (exp->elts[elt].longconst);
|
||||
field_number = longest_to_int (exp->elts[elt + 1].longconst);
|
||||
|
||||
fprintf_filtered (stream, "Field number: %d", field_number);
|
||||
elt = dump_subexp (exp, stream, elt + 2);
|
||||
elt = dump_subexp (exp, stream, elt + 3);
|
||||
}
|
||||
break;
|
||||
|
||||
case OP_RUST_ARRAY:
|
||||
++elt;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue