Don't crash building initializer of invalid array.

From-SVN: r167828
This commit is contained in:
Ian Lance Taylor 2010-12-15 00:09:12 +00:00
parent 6930f562ac
commit a63d137951
1 changed files with 5 additions and 0 deletions

View File

@ -4421,8 +4421,13 @@ Array_type::do_get_init_tree(Gogo* gogo, tree type_tree, bool is_clear)
tree value = this->element_type_->get_init_tree(gogo, is_clear);
if (value == NULL)
return NULL;
if (value == error_mark_node)
return error_mark_node;
tree length_tree = this->get_length_tree(gogo);
if (length_tree == error_mark_node)
return error_mark_node;
length_tree = fold_convert(sizetype, length_tree);
tree range = build2(RANGE_EXPR, sizetype, size_zero_node,
fold_build2(MINUS_EXPR, sizetype,