aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Quirke <qjeremy@uber.com>2022-12-26 04:07:03 +0000
committerCherry Mui <cherryyz@google.com>2023-01-24 17:00:10 +0000
commitdc9d219cad115cf04d07a0cd10a46d127cf6e5e1 (patch)
tree06e8dfef4487ed278eeb1ee768b4e32cbc967d22 /src
parent733ba921875ea11088f1f447cbca418f651aae5c (diff)
downloadgo-dc9d219cad115cf04d07a0cd10a46d127cf6e5e1.tar.xz
cmd/link: remove importcycles function
The importcycles method has not been useful since April 2016 when a large code deletion was performed. The compiler itself provides some protection against import cycles, and the linker does import cycle detection in linksetup -> postorder. For #57400 Change-Id: I3095bdb3f16a82ba25681bf4a20ceaa3c9613921 GitHub-Last-Rev: 87a46153b136db67675874ffe46e5881b9c756ce GitHub-Pull-Request: golang/go#57462 Reviewed-on: https://go-review.googlesource.com/c/go/+/459475 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/link/internal/ld/go.go45
-rw-r--r--src/cmd/link/internal/ld/lib.go2
2 files changed, 0 insertions, 47 deletions
diff --git a/src/cmd/link/internal/ld/go.go b/src/cmd/link/internal/ld/go.go
index 9dfb0f756e..ef73924914 100644
--- a/src/cmd/link/internal/ld/go.go
+++ b/src/cmd/link/internal/ld/go.go
@@ -452,48 +452,3 @@ func (ctxt *Link) addexport() {
adddynlib(ctxt, lib)
}
}
-
-type Pkg struct {
- mark bool
- checked bool
- path string
- impby []*Pkg
-}
-
-var pkgall []*Pkg
-
-func (p *Pkg) cycle() *Pkg {
- if p.checked {
- return nil
- }
-
- if p.mark {
- nerrors++
- fmt.Printf("import cycle:\n")
- fmt.Printf("\t%s\n", p.path)
- return p
- }
-
- p.mark = true
- for _, q := range p.impby {
- if bad := q.cycle(); bad != nil {
- p.mark = false
- p.checked = true
- fmt.Printf("\timports %s\n", p.path)
- if bad == p {
- return nil
- }
- return bad
- }
- }
-
- p.checked = true
- p.mark = false
- return nil
-}
-
-func importcycles() {
- for _, p := range pkgall {
- p.cycle()
- }
-}
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index c0730179db..22c764ada5 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -646,8 +646,6 @@ func (ctxt *Link) loadlib() {
// We've loaded all the code now.
ctxt.Loaded = true
- importcycles()
-
strictDupMsgCount = ctxt.loader.NStrictDupMsgs()
}