From a63d13795100ec8da8d4613dc9192348b94743c0 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 15 Dec 2010 00:09:12 +0000 Subject: [PATCH] Don't crash building initializer of invalid array. From-SVN: r167828 --- gcc/go/gofrontend/types.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index 36959034a92..842b4840db6 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -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, -- 2.30.2