cmd/compile/internal/gc: use slice instead of NodeList for Label.Use
Change-Id: I021c95df24edbff24ff2922769ef2b2acd47016a
Reviewed-on: https://go-review.googlesource.com/14081
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
diff --git a/src/cmd/compile/internal/gc/gen.go b/src/cmd/compile/internal/gc/gen.go
index 1e9c68c..355210b 100644
--- a/src/cmd/compile/internal/gc/gen.go
+++ b/src/cmd/compile/internal/gc/gen.go
@@ -135,7 +135,7 @@
lab.Def = n
}
} else {
- lab.Use = list(lab.Use, n)
+ lab.Use = append(lab.Use, n)
}
return lab
@@ -986,12 +986,10 @@
}
func checklabels() {
- var l *NodeList
-
for lab := labellist; lab != nil; lab = lab.Link {
if lab.Def == nil {
- for l = lab.Use; l != nil; l = l.Next {
- yyerrorl(int(l.N.Lineno), "label %v not defined", lab.Sym)
+ for _, n := range lab.Use {
+ yyerrorl(int(n.Lineno), "label %v not defined", lab.Sym)
}
continue
}
@@ -1004,8 +1002,8 @@
if lab.Gotopc != nil {
Fatalf("label %v never resolved", lab.Sym)
}
- for l = lab.Use; l != nil; l = l.Next {
- checkgoto(l.N, lab.Def)
+ for _, n := range lab.Use {
+ checkgoto(n, lab.Def)
}
}
}
diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go
index d31adb2..b692fc8 100644
--- a/src/cmd/compile/internal/gc/go.go
+++ b/src/cmd/compile/internal/gc/go.go
@@ -220,7 +220,7 @@
Used uint8
Sym *Sym
Def *Node
- Use *NodeList
+ Use []*Node
Link *Label
// for use during gen