From: Cuong Manh Le Date: Mon, 6 Jun 2022 17:07:26 +0000 (+0700) Subject: [dev.unified] cmd/compile: only sort symbols by name and package path X-Git-Tag: go1.20rc1~1807^2~73 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=df7cb59de4;p=gostls13.git [dev.unified] cmd/compile: only sort symbols by name and package path Since CL 393715, the path of package being compiled is now always known, so symbols can be sorted by package path instead of package height. Updates #51734 Change-Id: Ie543e2fdef4b93f3f0b97c6bcec0a4dcff788f2c Reviewed-on: https://go-review.googlesource.com/c/go/+/410654 TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky Auto-Submit: Cuong Manh Le Run-TryBot: Cuong Manh Le Reviewed-by: Cherry Mui --- diff --git a/src/cmd/compile/internal/types/sym.go b/src/cmd/compile/internal/types/sym.go index 927ebc453a..9d8707befa 100644 --- a/src/cmd/compile/internal/types/sym.go +++ b/src/cmd/compile/internal/types/sym.go @@ -97,14 +97,7 @@ func (sym *Sym) LinksymABI(abi obj.ABI) *obj.LSym { // Less reports whether symbol a is ordered before symbol b. // // Symbols are ordered exported before non-exported, then by name, and -// finally (for non-exported symbols) by package height and path. -// -// Ordering by package height is necessary to establish a consistent -// ordering for non-exported names with the same spelling but from -// different packages. We don't necessarily know the path for the -// package being compiled, but by definition it will have a height -// greater than any other packages seen within the compilation unit. -// For more background, see issue #24693. +// finally (for non-exported symbols) by package path. func (a *Sym) Less(b *Sym) bool { if a == b { return false @@ -131,9 +124,6 @@ func (a *Sym) Less(b *Sym) bool { return a.Name < b.Name } if !ea { - if a.Pkg.Height != b.Pkg.Height { - return a.Pkg.Height < b.Pkg.Height - } return a.Pkg.Path < b.Pkg.Path } return false