]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/gc: convert Label.Used to bool
authorDave Cheney <dave@cheney.net>
Mon, 7 Sep 2015 01:11:14 +0000 (11:11 +1000)
committerDave Cheney <dave@cheney.net>
Mon, 7 Sep 2015 21:35:06 +0000 (21:35 +0000)
Convert Label.Used to a boolean. Also move the field to the
bottom of the struct to avoid padding.

This change passes go build -toolexec 'toolstash -cmp' -a std.

Change-Id: If09ee92f9d54dce807e7b862cf771005daed810d
Reviewed-on: https://go-review.googlesource.com/14308
Run-TryBot: Dave Cheney <dave@cheney.net>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/gen.go
src/cmd/compile/internal/gc/go.go

index 355210b87aa0f7c66fd8fe2ae8bf229d4ad54de6..22d8a1ebaeea1d1984fb49218435d83e2f10778b 100644 (file)
@@ -729,7 +729,7 @@ func gen(n *Node) {
                                break
                        }
 
-                       lab.Used = 1
+                       lab.Used = true
                        if lab.Breakpc == nil {
                                Yyerror("invalid break label %v", n.Left.Sym)
                                break
@@ -754,7 +754,7 @@ func gen(n *Node) {
                                break
                        }
 
-                       lab.Used = 1
+                       lab.Used = true
                        if lab.Continpc == nil {
                                Yyerror("invalid continue label %v", n.Left.Sym)
                                break
@@ -994,7 +994,7 @@ func checklabels() {
                        continue
                }
 
-               if lab.Use == nil && lab.Used == 0 {
+               if lab.Use == nil && !lab.Used {
                        yyerrorl(int(lab.Def.Lineno), "label %v defined and not used", lab.Sym)
                        continue
                }
index 8c7328fa4bb990e95e8b10c67d925a684c72786b..91838ffdda5e2a11bedda0e1fd42be5550b4a244 100644 (file)
@@ -217,7 +217,6 @@ type Type struct {
 }
 
 type Label struct {
-       Used uint8
        Sym  *Sym
        Def  *Node
        Use  []*Node
@@ -228,6 +227,8 @@ type Label struct {
        Labelpc  *obj.Prog // pointer to code
        Breakpc  *obj.Prog // pointer to code
        Continpc *obj.Prog // pointer to code
+
+       Used bool
 }
 
 type InitEntry struct {