From acabc10c983db7b55fda3b02f7c0a9d779e0245a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 24 Feb 2011 04:02:33 +0000 Subject: [PATCH] Don't crash on type switch of untyped value. From-SVN: r170456 --- gcc/go/gofrontend/statements.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc index 629fdd81615..c87574dff1c 100644 --- a/gcc/go/gofrontend/statements.cc +++ b/gcc/go/gofrontend/statements.cc @@ -3911,7 +3911,11 @@ Type_switch_statement::do_lower(Gogo*, Block* enclosing) if (val_type->is_nil_type()) rhs = Expression::make_nil(loc); else - rhs = Expression::make_type_descriptor(val_type, loc); + { + if (val_type->is_abstract()) + val_type = val_type->make_non_abstract_type(); + rhs = Expression::make_type_descriptor(val_type, loc); + } Statement* s = Statement::make_assignment(lhs, rhs, loc); b->add_statement(s); } -- 2.30.2