Skip to content

Commit

Permalink
cmd/link: remove dead importcycles function
Browse files Browse the repository at this point in the history
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 now does import cycle detection in linksetup -> postorder.

For #57400
  • Loading branch information
jquirke committed Dec 26, 2022
1 parent a5a4744 commit 87a4615
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 47 deletions.
45 changes: 0 additions & 45 deletions src/cmd/link/internal/ld/go.go
Expand Up @@ -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()
}
}
2 changes: 0 additions & 2 deletions src/cmd/link/internal/ld/lib.go
Expand Up @@ -646,8 +646,6 @@ func (ctxt *Link) loadlib() {
// We've loaded all the code now.
ctxt.Loaded = true

importcycles()

strictDupMsgCount = ctxt.loader.NStrictDupMsgs()
}

Expand Down

0 comments on commit 87a4615

Please sign in to comment.