]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/gc: convert Bval to bool
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 13 Apr 2015 16:52:02 +0000 (09:52 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 14 Apr 2015 23:55:51 +0000 (23:55 +0000)
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>
src/cmd/7g/gsubr.go
src/cmd/9g/gsubr.go
src/cmd/internal/gc/cgen.go
src/cmd/internal/gc/const.go
src/cmd/internal/gc/fmt.go
src/cmd/internal/gc/go.go
src/cmd/internal/gc/gsubr.go
src/cmd/internal/gc/sinit.go
src/cmd/internal/gc/subr.go
src/cmd/internal/gc/swt.go
src/cmd/internal/gc/typecheck.go

index 02554b01db041778c1e4cebb15a33ada597e38ea..d2e83ad20df5c36e4bbcb4320ad935ead6636f00 100644 (file)
@@ -447,7 +447,7 @@ func intLiteral(n *gc.Node) (x int64, ok bool) {
        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
 }
index 86b6f863610c3621a74e29cc125a220f98be69ee..5ad528185e493e1573a56aac35c75bdf743dede3 100644 (file)
@@ -526,7 +526,7 @@ func intLiteral(n *gc.Node) (x int64, ok bool) {
        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
 }
index 886a2d12f4d9d5bd109e31d1d77a445b6e4c2646..9c73300f464069c54d2df38b3a0b9ac5c4e82ec3 100644 (file)
@@ -1690,7 +1690,7 @@ func Bgen(n *Node, true_ bool, likely int, to *obj.Prog) {
 
                // 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
index e81db1da9c29a352d0b1f3443ef30ad452839492..5d44c552cfb4852b7fac123d9eb570a0bdc8b96c 100644 (file)
@@ -650,7 +650,7 @@ func evconst(n *Node) {
                        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 @@ func evconst(n *Node) {
                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 @@ func Convconst(con *Node, t *Type, val *Val) {
                        i = Mpgetfix(val.U.Xval)
 
                case CTBOOL:
-                       i = int64(val.U.Bval)
+                       i = int64(bool2int(val.U.Bval))
 
                case CTNIL:
                        i = 0
index 589f20cff4d11433c8e8dc98ee84dfa0b7ce346c..6720d5cef5e7ca221ea2c306540e50f39b72a29a 100644 (file)
@@ -344,7 +344,7 @@ func Vconv(v *Val, flag int) string {
                return strconv.Quote(v.U.Sval)
 
        case CTBOOL:
-               if v.U.Bval != 0 {
+               if v.U.Bval {
                        return "true"
                }
                return "false"
index 803703e8186137b12a40bbae96c1f68e6c89f073..5803f39ec262bccefe9a10246c844e8b5cd787c4 100644 (file)
@@ -85,7 +85,7 @@ type Val struct {
        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
index 6ca8c75a83a001ec1eb0c2abb97b8aa6ab8942ff..36a4a95d83b6b935939d4b371f8c3c14292a2244 100644 (file)
@@ -417,7 +417,7 @@ func Naddr(a *obj.Addr, n *Node) {
                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
index 96743b861cfc74e2f3c0ded61605eb20e745347d..14aca86fa096eb494a9f6babc195467fee7b901a 100644 (file)
@@ -1363,7 +1363,7 @@ func iszero(n *Node) bool {
                        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
index 3b8ced9c536550b7de31c5246617a47d304564d4..c18f1e933969639c61ab7d5d100b1e102e187c70 100644 (file)
@@ -710,7 +710,7 @@ func nodnil() *Node {
 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
 }
index 991f3ac9042b579b4961c7de6af7dbd267520cff..793a0d62356580fab191ff82ea5ca9c7d98854fc 100644 (file)
@@ -218,7 +218,7 @@ func (s *exprSwitch) walk(sw *Node) {
        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
                }
        }
index 08262b15d48a95983b34fced9833015e209d7748..5c31e3e401073bc5939ea636a59c2a7629f87fa9 100644 (file)
@@ -2826,12 +2826,12 @@ func keydup(n *Node, hash []*Node) {
                        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 {