cmd/compile/internal/gc: convert Type.Broke into a bool
Convert Type.Broke from a uint8 to a boolean
This change passes go build -toolexec 'toolstash -cmp' -a std.
Change-Id: I44e7548c71b00467e36576bdf62933c42555a21a
Reviewed-on: https://go-review.googlesource.com/14307
Run-TryBot: Dave Cheney <dave@cheney.net>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: HÃ¥vard Haugen <havard.haugen@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go
index 10a497a..ff0adb3 100644
--- a/src/cmd/compile/internal/gc/align.go
+++ b/src/cmd/compile/internal/gc/align.go
@@ -129,8 +129,8 @@
if t.Width == -2 {
lno := int(lineno)
lineno = int32(t.Lineno)
- if t.Broke == 0 {
- t.Broke = 1
+ if !t.Broke {
+ t.Broke = true
Yyerror("invalid recursive type %v", t)
}
@@ -141,7 +141,7 @@
// break infinite recursion if the broken recursive type
// is referenced again
- if t.Broke != 0 && t.Width == 0 {
+ if t.Broke && t.Width == 0 {
return
}
@@ -233,7 +233,7 @@
checkwidth(t.Down)
case TFORW: // should have been filled in
- if t.Broke == 0 {
+ if !t.Broke {
Yyerror("invalid recursive type %v", t)
}
w = 1 // anything will do
@@ -272,9 +272,9 @@
checkwidth(t.Type)
t.Align = uint8(Widthptr)
} else if t.Bound == -100 {
- if t.Broke == 0 {
+ if !t.Broke {
Yyerror("use of [...] array outside of array literal")
- t.Broke = 1
+ t.Broke = true
}
} else {
Fatalf("dowidth %v", t) // probably [...]T
diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go
index 201a583..de23190 100644
--- a/src/cmd/compile/internal/gc/const.go
+++ b/src/cmd/compile/internal/gc/const.go
@@ -292,7 +292,7 @@
bad:
if n.Diag == 0 {
- if t.Broke == 0 {
+ if !t.Broke {
Yyerror("cannot convert %v to type %v", n, t)
}
n.Diag = 1
diff --git a/src/cmd/compile/internal/gc/dcl.go b/src/cmd/compile/internal/gc/dcl.go
index 157f525..62aca0b 100644
--- a/src/cmd/compile/internal/gc/dcl.go
+++ b/src/cmd/compile/internal/gc/dcl.go
@@ -834,7 +834,7 @@
f.Type = n.Type
if f.Type == nil {
- f.Broke = 1
+ f.Broke = true
}
switch n.Val().Ctype() {
@@ -894,16 +894,16 @@
tp = &f.Down
}
- for f := t.Type; f != nil && t.Broke == 0; f = f.Down {
- if f.Broke != 0 {
- t.Broke = 1
+ for f := t.Type; f != nil && !t.Broke; f = f.Down {
+ if f.Broke {
+ t.Broke = true
}
}
uniqgen++
checkdupfields(t.Type, "field")
- if t.Broke == 0 {
+ if !t.Broke {
checkwidth(t)
}
@@ -929,9 +929,9 @@
tp = &f.Down
}
- for f := t.Type; f != nil && t.Broke == 0; f = f.Down {
- if f.Broke != 0 {
- t.Broke = 1
+ for f := t.Type; f != nil && !t.Broke; f = f.Down {
+ if f.Broke {
+ t.Broke = true
}
}
@@ -984,11 +984,11 @@
case TFORW:
Yyerror("interface type loop involving %v", n.Type)
- f.Broke = 1
+ f.Broke = true
default:
Yyerror("interface contains embedded non-interface %v", n.Type)
- f.Broke = 1
+ f.Broke = true
}
}
}
@@ -998,7 +998,7 @@
f.Type = n.Type
if f.Type == nil {
- f.Broke = 1
+ f.Broke = true
}
lineno = int32(lno)
@@ -1034,9 +1034,9 @@
}
}
- for f := t.Type; f != nil && t.Broke == 0; f = f.Down {
- if f.Broke != 0 {
- t.Broke = 1
+ for f := t.Type; f != nil && !t.Broke; f = f.Down {
+ if f.Broke {
+ t.Broke = true
}
}
@@ -1224,8 +1224,8 @@
checkdupfields(t.Type.Down.Type, "argument")
checkdupfields(t.Type.Down.Down.Type, "argument")
- if t.Type.Broke != 0 || t.Type.Down.Broke != 0 || t.Type.Down.Down.Broke != 0 {
- t.Broke = 1
+ if t.Type.Broke || t.Type.Down.Broke || t.Type.Down.Down.Broke {
+ t.Broke = true
}
if this != nil {
@@ -1383,7 +1383,7 @@
t = t.Type
}
- if t.Broke != 0 { // rely on typecheck having complained before
+ if t.Broke { // rely on typecheck having complained before
return
}
if t.Sym == nil {
diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go
index 91838ff..f87f7bb 100644
--- a/src/cmd/compile/internal/gc/go.go
+++ b/src/cmd/compile/internal/gc/go.go
@@ -165,8 +165,8 @@
Copyany uint8
Local bool // created in this file
Deferwidth uint8
- Broke uint8 // broken type definition.
- Isddd bool // TFIELD is ... argument
+ Broke bool // broken type definition.
+ Isddd bool // TFIELD is ... argument
Align uint8
Haspointers uint8 // 0 unknown, 1 no, 2 yes
diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go
index 605597f..5cb7547 100644
--- a/src/cmd/compile/internal/gc/subr.go
+++ b/src/cmd/compile/internal/gc/subr.go
@@ -426,7 +426,7 @@
if bad != nil {
*bad = nil
}
- if t.Broke != 0 {
+ if t.Broke {
return AMEM
}
if t.Noalg != 0 {
@@ -1133,7 +1133,7 @@
}
// we'll have complained about this method anyway, suppress spurious messages.
- if have != nil && have.Sym == missing.Sym && (have.Type.Broke != 0 || missing.Type.Broke != 0) {
+ if have != nil && have.Sym == missing.Sym && (have.Type.Broke || missing.Type.Broke) {
return OCONVIFACE
}
@@ -1317,7 +1317,7 @@
// Convert node n for assignment to type t.
func assignconvfn(n *Node, t *Type, context func() string) *Node {
- if n == nil || n.Type == nil || n.Type.Broke != 0 {
+ if n == nil || n.Type == nil || n.Type.Broke {
return n
}
diff --git a/src/cmd/compile/internal/gc/swt.go b/src/cmd/compile/internal/gc/swt.go
index c1a5a6d..a0e0c41 100644
--- a/src/cmd/compile/internal/gc/swt.go
+++ b/src/cmd/compile/internal/gc/swt.go
@@ -153,9 +153,9 @@
// reset to original type
ll.N = n.Left.Right
case ll.N.Type.Etype != TINTER && t.Etype == TINTER && !implements(ll.N.Type, t, &missing, &have, &ptr):
- if have != nil && missing.Broke == 0 && have.Broke == 0 {
+ if have != nil && !missing.Broke && !have.Broke {
Yyerror("impossible type switch case: %v cannot have dynamic type %v"+" (wrong type for %v method)\n\thave %v%v\n\twant %v%v", Nconv(n.Left.Right, obj.FmtLong), ll.N.Type, missing.Sym, have.Sym, Tconv(have.Type, obj.FmtShort), missing.Sym, Tconv(missing.Type, obj.FmtShort))
- } else if missing.Broke == 0 {
+ } else if !missing.Broke {
Yyerror("impossible type switch case: %v cannot have dynamic type %v"+" (missing %v method)", Nconv(n.Left.Right, obj.FmtLong), ll.N.Type, missing.Sym)
}
}
diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go
index fdeaa5b..b3d49b0 100644
--- a/src/cmd/compile/internal/gc/typecheck.go
+++ b/src/cmd/compile/internal/gc/typecheck.go
@@ -348,7 +348,7 @@
} else if l.Op == ODDD {
t.Bound = -100 // to be filled in
if top&Ecomplit == 0 && n.Diag == 0 {
- t.Broke = 1
+ t.Broke = true
n.Diag = 1
Yyerror("use of [...] array outside of array literal")
}
@@ -430,7 +430,7 @@
ok |= Etype
n.Op = OTYPE
n.Type = tostruct(n.List)
- if n.Type == nil || n.Type.Broke != 0 {
+ if n.Type == nil || n.Type.Broke {
n.Type = nil
return
}
@@ -1286,7 +1286,7 @@
l = n.Left
if l.Op == OTYPE {
if n.Isddd || l.Type.Bound == -100 {
- if l.Type.Broke == 0 {
+ if !l.Type.Broke {
Yyerror("invalid use of ... in type conversion to %v", l.Type)
}
n.Diag = 1
@@ -1753,7 +1753,7 @@
var why string
n.Op = uint8(convertop(t, n.Type, &why))
if (n.Op) == 0 {
- if n.Diag == 0 && n.Type.Broke == 0 {
+ if n.Diag == 0 && !n.Type.Broke {
Yyerror("cannot convert %v to type %v%s", Nconv(n.Left, obj.FmtLong), n.Type, why)
n.Diag = 1
}
@@ -2307,7 +2307,7 @@
// type is broken or missing, most likely a method call on a broken type
// we will warn about the broken type elsewhere. no need to emit a potentially confusing error
- if n.Left.Type == nil || n.Left.Type.Broke != 0 {
+ if n.Left.Type == nil || n.Left.Type.Broke {
return
}
@@ -2627,7 +2627,7 @@
lno := int(lineno)
- if tstruct.Broke != 0 {
+ if tstruct.Broke {
goto out
}
@@ -3804,7 +3804,7 @@
if n.Type.Etype == TFORW && nerrors > nerrors0 {
// Something went wrong during type-checking,
// but it was reported. Silence future errors.
- n.Type.Broke = 1
+ n.Type.Broke = true
}
if Curfn != nil {