Don't finalize methods for a type more than once.

From-SVN: r168134
This commit is contained in:
Ian Lance Taylor 2010-12-21 22:33:04 +00:00
parent 1588200e46
commit 31e1ba2e2a
1 changed files with 5 additions and 0 deletions

View File

@ -3698,6 +3698,8 @@ Struct_type::is_unexported_local_field(Gogo* gogo,
void
Struct_type::finalize_methods(Gogo* gogo)
{
if (this->all_methods_ != NULL)
return;
Type::finalize_methods(gogo, this, this->location_, &this->all_methods_);
}
@ -6615,6 +6617,9 @@ Named_type::is_unexported_local_method(Gogo* gogo,
void
Named_type::finalize_methods(Gogo* gogo)
{
if (this->all_methods_ != NULL)
return;
if (this->local_methods_ != NULL
&& (this->points_to() != NULL || this->interface_type() != NULL))
{