From 8d2866eafb6865f084791494a7a449065cb0287c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 22 Dec 2010 16:47:53 +0000 Subject: Don't crash on array type with erroneous length expression. From-SVN: r168176 --- gcc/go/gofrontend/types.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index c0914ca..7a9bfc7 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -4359,8 +4359,12 @@ Array_type::get_length_tree(Gogo* gogo) // expression. FIXME: This won't work in general. Translate_context context(gogo, NULL, NULL, NULL_TREE); tree len = this->length_->get_tree(&context); - len = convert_to_integer(integer_type_node, len); - this->length_tree_ = save_expr(len); + if (len != error_mark_node) + { + len = convert_to_integer(integer_type_node, len); + len = save_expr(len); + } + this->length_tree_ = len; } } return this->length_tree_; -- cgit v1.1