From: Ian Lance Taylor Date: Thu, 3 Mar 2011 00:42:10 +0000 (+0000) Subject: Don't crash if a constant has a declared but undefined type. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ca93ccfd2f266eaca01dc053bee934a6b0fb24e;p=gcc.git Don't crash if a constant has a declared but undefined type. From-SVN: r170632 --- diff --git a/gcc/go/gofrontend/gogo-tree.cc b/gcc/go/gofrontend/gogo-tree.cc index 722a23a52d7..883b5b11846 100644 --- a/gcc/go/gofrontend/gogo-tree.cc +++ b/gcc/go/gofrontend/gogo-tree.cc @@ -926,7 +926,16 @@ Named_object::get_tree(Gogo* gogo, Named_object* function) { Type* type = named_constant->type(); if (type != NULL && !type->is_abstract()) - expr_tree = fold_convert(type->get_tree(gogo), expr_tree); + { + if (!type->is_undefined()) + expr_tree = fold_convert(type->get_tree(gogo), expr_tree); + else + { + // Make sure we report the error. + type->base(); + expr_tree = error_mark_node; + } + } if (expr_tree == error_mark_node) decl = error_mark_node; else if (INTEGRAL_TYPE_P(TREE_TYPE(expr_tree)))