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.
+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".
{
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: