Don't crash if a constant has a declared but undefined type.

From-SVN: r170632
This commit is contained in:
Ian Lance Taylor 2011-03-03 00:42:10 +00:00
parent b58219c16d
commit 8ca93ccfd2

View File

@ -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)))