From e495c1360ddea801c27f438654fa5e18d6dfc8d4 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 15 Dec 2010 23:50:02 +0000 Subject: [PATCH] Don't crash on tuple initialization from erroneous channel. From-SVN: r167882 --- gcc/go/gofrontend/gogo.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 39072e075b1..b27871132e3 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -3126,7 +3126,10 @@ Variable::type_from_tuple(Expression* expr, bool report_error) const else if (expr->receive_expression() != NULL) { Expression* channel = expr->receive_expression()->channel(); - return channel->type()->channel_type()->element_type(); + Type* channel_type = channel->type(); + if (channel_type->is_error_type()) + return Type::make_error_type(); + return channel_type->channel_type()->element_type(); } else { -- 2.30.2