cmd/internal/gc: convert Bval to bool
No functional changes. Passes toolstash -cmp.
Change-Id: I4fba0c248645c3910ee3f7fc99dacafb676c5dc2
Reviewed-on: https://go-review.googlesource.com/8911
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/7g/gsubr.go b/src/cmd/7g/gsubr.go
index 02554b0..d2e83ad 100644
--- a/src/cmd/7g/gsubr.go
+++ b/src/cmd/7g/gsubr.go
@@ -447,7 +447,7 @@
case gc.CTINT, gc.CTRUNE:
return gc.Mpgetfix(n.Val.U.Xval), true
case gc.CTBOOL:
- return int64(n.Val.U.Bval), true
+ return int64(bool2int(n.Val.U.Bval)), true
}
return
}
diff --git a/src/cmd/9g/gsubr.go b/src/cmd/9g/gsubr.go
index 86b6f86..5ad5281 100644
--- a/src/cmd/9g/gsubr.go
+++ b/src/cmd/9g/gsubr.go
@@ -526,7 +526,7 @@
case gc.CTINT, gc.CTRUNE:
return gc.Mpgetfix(n.Val.U.Xval), true
case gc.CTBOOL:
- return int64(n.Val.U.Bval), true
+ return int64(bool2int(n.Val.U.Bval)), true
}
return
}
diff --git a/src/cmd/internal/gc/cgen.go b/src/cmd/internal/gc/cgen.go
index 886a2d1..9c73300 100644
--- a/src/cmd/internal/gc/cgen.go
+++ b/src/cmd/internal/gc/cgen.go
@@ -1690,7 +1690,7 @@
// need to ask if it is bool?
case OLITERAL:
- if !true_ == (n.Val.U.Bval == 0) {
+ if true_ == n.Val.U.Bval {
Patch(Gbranch(obj.AJMP, nil, likely), to)
}
return
diff --git a/src/cmd/internal/gc/const.go b/src/cmd/internal/gc/const.go
index e81db1d..5d44c55 100644
--- a/src/cmd/internal/gc/const.go
+++ b/src/cmd/internal/gc/const.go
@@ -650,7 +650,7 @@
mpnegflt(&v.U.Cval.Imag)
case ONOT<<16 | CTBOOL:
- if v.U.Bval == 0 {
+ if !v.U.Bval {
goto settrue
}
goto setfalse
@@ -990,13 +990,13 @@
goto setfalse
case OOROR<<16 | CTBOOL:
- if v.U.Bval != 0 || rv.U.Bval != 0 {
+ if v.U.Bval || rv.U.Bval {
goto settrue
}
goto setfalse
case OANDAND<<16 | CTBOOL:
- if v.U.Bval != 0 && rv.U.Bval != 0 {
+ if v.U.Bval && rv.U.Bval {
goto settrue
}
goto setfalse
@@ -1418,7 +1418,7 @@
i = Mpgetfix(val.U.Xval)
case CTBOOL:
- i = int64(val.U.Bval)
+ i = int64(bool2int(val.U.Bval))
case CTNIL:
i = 0
diff --git a/src/cmd/internal/gc/fmt.go b/src/cmd/internal/gc/fmt.go
index 589f20c..6720d5c 100644
--- a/src/cmd/internal/gc/fmt.go
+++ b/src/cmd/internal/gc/fmt.go
@@ -344,7 +344,7 @@
return strconv.Quote(v.U.Sval)
case CTBOOL:
- if v.U.Bval != 0 {
+ if v.U.Bval {
return "true"
}
return "false"
diff --git a/src/cmd/internal/gc/go.go b/src/cmd/internal/gc/go.go
index 803703e..5803f39 100644
--- a/src/cmd/internal/gc/go.go
+++ b/src/cmd/internal/gc/go.go
@@ -85,7 +85,7 @@
Ctype int16
U struct {
Reg int16 // OREGISTER
- Bval int16 // bool value CTBOOL
+ Bval bool // bool value CTBOOL
Xval *Mpint // int CTINT, rune CTRUNE
Fval *Mpflt // float CTFLT
Cval *Mpcplx // float CTCPLX
diff --git a/src/cmd/internal/gc/gsubr.go b/src/cmd/internal/gc/gsubr.go
index 6ca8c75..36a4a95 100644
--- a/src/cmd/internal/gc/gsubr.go
+++ b/src/cmd/internal/gc/gsubr.go
@@ -417,7 +417,7 @@
case CTBOOL:
a.Sym = nil
a.Type = obj.TYPE_CONST
- a.Offset = int64(n.Val.U.Bval)
+ a.Offset = int64(bool2int(n.Val.U.Bval))
case CTNIL:
a.Sym = nil
diff --git a/src/cmd/internal/gc/sinit.go b/src/cmd/internal/gc/sinit.go
index 96743b8..14aca86 100644
--- a/src/cmd/internal/gc/sinit.go
+++ b/src/cmd/internal/gc/sinit.go
@@ -1363,7 +1363,7 @@
return n.Val.U.Sval == ""
case CTBOOL:
- return n.Val.U.Bval == 0
+ return !n.Val.U.Bval
case CTINT, CTRUNE:
return mpcmpfixc(n.Val.U.Xval, 0) == 0
diff --git a/src/cmd/internal/gc/subr.go b/src/cmd/internal/gc/subr.go
index 3b8ced9..c18f1e9 100644
--- a/src/cmd/internal/gc/subr.go
+++ b/src/cmd/internal/gc/subr.go
@@ -710,7 +710,7 @@
func Nodbool(b bool) *Node {
c := Nodintconst(0)
c.Val.Ctype = CTBOOL
- c.Val.U.Bval = int16(bool2int(b))
+ c.Val.U.Bval = b
c.Type = idealbool
return c
}
diff --git a/src/cmd/internal/gc/swt.go b/src/cmd/internal/gc/swt.go
index 991f3ac..793a0d6 100644
--- a/src/cmd/internal/gc/swt.go
+++ b/src/cmd/internal/gc/swt.go
@@ -218,7 +218,7 @@
s.kind = switchKindExpr
if Isconst(sw.Ntest, CTBOOL) {
s.kind = switchKindTrue
- if sw.Ntest.Val.U.Bval == 0 {
+ if !sw.Ntest.Val.U.Bval {
s.kind = switchKindFalse
}
}
diff --git a/src/cmd/internal/gc/typecheck.go b/src/cmd/internal/gc/typecheck.go
index 08262b1..5c31e3e 100644
--- a/src/cmd/internal/gc/typecheck.go
+++ b/src/cmd/internal/gc/typecheck.go
@@ -2826,12 +2826,12 @@
if Eqtype(a.Left.Type, n.Type) {
cmp.Right = a.Left
evconst(&cmp)
- b = uint32(cmp.Val.U.Bval)
+ b = uint32(bool2int(cmp.Val.U.Bval))
}
} else if Eqtype(a.Type, n.Type) {
cmp.Right = a
evconst(&cmp)
- b = uint32(cmp.Val.U.Bval)
+ b = uint32(bool2int(cmp.Val.U.Bval))
}
if b != 0 {