compiler: remove some erroneous code that was never run

The code accidentally called Type::type_descriptor rather than the
do_type_descriptor method.  Calling Type::type_descriptor with a second
argument of NULL would always crash.  Since that never happened,
it revealed that this code was never actually executed.

Fixes PR go/95970

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/240477
This commit is contained in:
Ian Lance Taylor 2020-06-29 11:30:43 -07:00
parent 583812c2e2
commit 9bca676cc7
2 changed files with 6 additions and 10 deletions

View File

@ -1,4 +1,4 @@
d4dade353648eae4a1eaa1acd3e4ce1f7180a913
30674246ef60ab74566a21f362a7de7a09b99955
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -11106,15 +11106,11 @@ Named_type::do_type_descriptor(Gogo* gogo, Named_type* name)
{
if (this->is_error_)
return Expression::make_error(this->location_);
if (name == NULL && this->is_alias_)
{
if (this->seen_alias_)
return Expression::make_error(this->location_);
this->seen_alias_ = true;
Expression* ret = this->type_->type_descriptor(gogo, NULL);
this->seen_alias_ = false;
return ret;
}
// We shouldn't see unnamed type aliases here. They should have
// been removed by the call to unalias in Type::type_descriptor_pointer.
// We can see named type aliases via Type::named_type_descriptor.
go_assert(name != NULL || !this->is_alias_);
// If NAME is not NULL, then we don't really want the type
// descriptor for this type; we want the descriptor for the