From: Ian Lance Taylor Date: Thu, 24 Feb 2011 04:02:33 +0000 (+0000) Subject: Don't crash on type switch of untyped value. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=acabc10c983db7b55fda3b02f7c0a9d779e0245a;p=gcc.git Don't crash on type switch of untyped value. From-SVN: r170456 --- 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); }