]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/gc: use slice instead of NodeList for Label.Use
authorHÃ¥vard Haugen <havard.haugen@gmail.com>
Sun, 30 Aug 2015 20:24:53 +0000 (22:24 +0200)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 1 Sep 2015 22:13:16 +0000 (22:13 +0000)
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>
src/cmd/compile/internal/gc/gen.go
src/cmd/compile/internal/gc/go.go

index 1e9c68c210e7cd430c34c69b7730d699cfa5584a..355210b87aa0f7c66fd8fe2ae8bf229d4ad54de6 100644 (file)
@@ -135,7 +135,7 @@ func newlab(n *Node) *Label {
                        lab.Def = n
                }
        } else {
-               lab.Use = list(lab.Use, n)
+               lab.Use = append(lab.Use, n)
        }
 
        return lab
@@ -986,12 +986,10 @@ func CgenTemp(n *Node) *Node {
 }
 
 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 @@ func checklabels() {
                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)
                }
        }
 }
index d31adb2181c90fe6d51f2ef3b2fa5144e1c18612..b692fc826c3cac86bb74119f549b3f2199bdf723 100644 (file)
@@ -220,7 +220,7 @@ type Label struct {
        Used uint8
        Sym  *Sym
        Def  *Node
-       Use  *NodeList
+       Use  []*Node
        Link *Label
 
        // for use during gen