compiler: Unpack method names when sorting them.

Reviewed-on: https://go-review.googlesource.com/19177

From-SVN: r233097
This commit is contained in:
Ian Lance Taylor 2016-02-03 05:27:16 +00:00
parent 6f4949afaf
commit e2bd26b722
2 changed files with 11 additions and 4 deletions

View file

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

View file

@ -2307,7 +2307,10 @@ class Sort_methods
bool
operator()(const std::pair<std::string, const Method*>& m1,
const std::pair<std::string, const Method*>& m2) const
{ return m1.first < m2.first; }
{
return (Gogo::unpack_hidden_name(m1.first)
< Gogo::unpack_hidden_name(m2.first));
}
};
// Return a composite literal for the type method table for this type.
@ -7684,7 +7687,8 @@ Interface_type::get_backend_methods(Gogo* gogo)
mfields[i].location = loc;
// Sanity check: the names should be sorted.
go_assert(p->name() > last_name);
go_assert(Gogo::unpack_hidden_name(p->name())
> Gogo::unpack_hidden_name(last_name));
last_name = p->name();
}
@ -10489,7 +10493,10 @@ struct Typed_identifier_list_sort
public:
bool
operator()(const Typed_identifier& t1, const Typed_identifier& t2) const
{ return t1.name() < t2.name(); }
{
return (Gogo::unpack_hidden_name(t1.name())
< Gogo::unpack_hidden_name(t2.name()));
}
};
void