cmd/5g, etc, cmd/internal/gc, cmd/internal/obj, etc: coalesce bool2int implementations
There were 10 implementations of the trivial bool2int function, 9 of which
were the only thing in their file. Remove all of them in favor of one in
cmd/internal/obj.
Change-Id: I9c51d30716239df51186860b9842a5e9b27264d3
Reviewed-on: https://go-review.googlesource.com/9230
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/5g/util.go b/src/cmd/5g/util.go
deleted file mode 100644
index bb5eedb..0000000
--- a/src/cmd/5g/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/6g/util.go b/src/cmd/6g/util.go
deleted file mode 100644
index bb5eedb..0000000
--- a/src/cmd/6g/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/7g/gsubr.go b/src/cmd/7g/gsubr.go
index 138e2dd..a34a4306 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(bool2int(n.Val.U.Bval)), true
+ return int64(obj.Bool2int(n.Val.U.Bval)), true
}
return
}
diff --git a/src/cmd/7g/util.go b/src/cmd/7g/util.go
deleted file mode 100644
index bb5eedb..0000000
--- a/src/cmd/7g/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/8g/util.go b/src/cmd/8g/util.go
deleted file mode 100644
index bb5eedb..0000000
--- a/src/cmd/8g/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/9g/gsubr.go b/src/cmd/9g/gsubr.go
index 2c4db9c..86ea01a 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(bool2int(n.Val.U.Bval)), true
+ return int64(obj.Bool2int(n.Val.U.Bval)), true
}
return
}
diff --git a/src/cmd/9g/util.go b/src/cmd/9g/util.go
deleted file mode 100644
index bb5eedb..0000000
--- a/src/cmd/9g/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/internal/gc/const.go b/src/cmd/internal/gc/const.go
index d09273b..ad29158 100644
--- a/src/cmd/internal/gc/const.go
+++ b/src/cmd/internal/gc/const.go
@@ -1417,7 +1417,7 @@
i = Mpgetfix(val.U.Xval)
case CTBOOL:
- i = int64(bool2int(val.U.Bval))
+ i = int64(obj.Bool2int(val.U.Bval))
case CTNIL:
i = 0
diff --git a/src/cmd/internal/gc/gsubr.go b/src/cmd/internal/gc/gsubr.go
index 34b9612..1f6b7d2 100644
--- a/src/cmd/internal/gc/gsubr.go
+++ b/src/cmd/internal/gc/gsubr.go
@@ -87,7 +87,7 @@
p.To.Val = nil
if as != obj.AJMP && likely != 0 && Thearch.Thechar != '9' && Thearch.Thechar != '7' {
p.From.Type = obj.TYPE_CONST
- p.From.Offset = int64(bool2int(likely > 0))
+ p.From.Offset = int64(obj.Bool2int(likely > 0))
}
return p
@@ -417,7 +417,7 @@
case CTBOOL:
a.Sym = nil
a.Type = obj.TYPE_CONST
- a.Offset = int64(bool2int(n.Val.U.Bval))
+ a.Offset = int64(obj.Bool2int(n.Val.U.Bval))
case CTNIL:
a.Sym = nil
diff --git a/src/cmd/internal/gc/pgen.go b/src/cmd/internal/gc/pgen.go
index 3c4a11e..5848f98a 100644
--- a/src/cmd/internal/gc/pgen.go
+++ b/src/cmd/internal/gc/pgen.go
@@ -191,17 +191,17 @@
}
if a.Used != b.Used {
- return bool2int(b.Used) - bool2int(a.Used)
+ return obj.Bool2int(b.Used) - obj.Bool2int(a.Used)
}
- ap := bool2int(haspointers(a.Type))
- bp := bool2int(haspointers(b.Type))
+ ap := obj.Bool2int(haspointers(a.Type))
+ bp := obj.Bool2int(haspointers(b.Type))
if ap != bp {
return bp - ap
}
- ap = bool2int(a.Needzero)
- bp = bool2int(b.Needzero)
+ ap = obj.Bool2int(a.Needzero)
+ bp = obj.Bool2int(b.Needzero)
if ap != bp {
return bp - ap
}
diff --git a/src/cmd/internal/gc/reflect.go b/src/cmd/internal/gc/reflect.go
index 47e24a5..47697be 100644
--- a/src/cmd/internal/gc/reflect.go
+++ b/src/cmd/internal/gc/reflect.go
@@ -678,7 +678,7 @@
ret = true
}
- t.Haspointers = 1 + uint8(bool2int(ret))
+ t.Haspointers = 1 + uint8(obj.Bool2int(ret))
return ret
}
@@ -1066,7 +1066,7 @@
ot = dcommontype(s, ot, t)
xt = ot - 3*Widthptr
- ot = duint8(s, ot, uint8(bool2int(isddd)))
+ ot = duint8(s, ot, uint8(obj.Bool2int(isddd)))
// two slice headers: in and out.
ot = int(Rnd(int64(ot), int64(Widthptr)))
@@ -1146,7 +1146,7 @@
}
ot = duint16(s, ot, uint16(mapbucket(t).Width))
- ot = duint8(s, ot, uint8(bool2int(isreflexive(t.Down))))
+ ot = duint8(s, ot, uint8(obj.Bool2int(isreflexive(t.Down))))
case TPTR32, TPTR64:
if t.Type.Etype == TANY {
diff --git a/src/cmd/internal/gc/typecheck.go b/src/cmd/internal/gc/typecheck.go
index 4823b44..eabbdc2 100644
--- a/src/cmd/internal/gc/typecheck.go
+++ b/src/cmd/internal/gc/typecheck.go
@@ -1831,8 +1831,8 @@
n.Type = nil
return
}
- et := bool2int(checkmake(t, "len", l) < 0)
- et |= bool2int(r != nil && checkmake(t, "cap", r) < 0)
+ et := obj.Bool2int(checkmake(t, "len", l) < 0)
+ et |= obj.Bool2int(r != nil && checkmake(t, "cap", r) < 0)
if et != 0 {
n.Type = nil
return
@@ -2820,12 +2820,12 @@
if Eqtype(a.Left.Type, n.Type) {
cmp.Right = a.Left
evconst(&cmp)
- b = uint32(bool2int(cmp.Val.U.Bval))
+ b = uint32(obj.Bool2int(cmp.Val.U.Bval))
}
} else if Eqtype(a.Type, n.Type) {
cmp.Right = a
evconst(&cmp)
- b = uint32(bool2int(cmp.Val.U.Bval))
+ b = uint32(obj.Bool2int(cmp.Val.U.Bval))
}
if b != 0 {
diff --git a/src/cmd/internal/gc/util.go b/src/cmd/internal/gc/util.go
index c3f7db2..7b593dc 100644
--- a/src/cmd/internal/gc/util.go
+++ b/src/cmd/internal/gc/util.go
@@ -8,13 +8,6 @@
"strings"
)
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
-
func (n *Node) Line() string {
return obj.Linklinefmt(Ctxt, int(n.Lineno), false, false)
}
diff --git a/src/cmd/internal/obj/arm/obj5.go b/src/cmd/internal/obj/arm/obj5.go
index 65d6847..0960647 100644
--- a/src/cmd/internal/obj/arm/obj5.go
+++ b/src/cmd/internal/obj/arm/obj5.go
@@ -829,7 +829,7 @@
if ctxt.Cursym.Cfunc != 0 {
p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
} else {
- p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+ p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
}
// BLS start
diff --git a/src/cmd/internal/obj/arm/util.go b/src/cmd/internal/obj/arm/util.go
deleted file mode 100644
index f036c5f..0000000
--- a/src/cmd/internal/obj/arm/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/internal/obj/arm64/asm7.go b/src/cmd/internal/obj/arm64/asm7.go
index 94dc4b1..6e00cb5 100644
--- a/src/cmd/internal/obj/arm64/asm7.go
+++ b/src/cmd/internal/obj/arm64/asm7.go
@@ -831,7 +831,7 @@
func ispcdisp(v int32) int {
/* pc-relative addressing will reach? */
- return bool2int(v >= -0xfffff && v <= 0xfffff && (v&3) == 0)
+ return obj.Bool2int(v >= -0xfffff && v <= 0xfffff && (v&3) == 0)
}
func isaddcon(v int64) int {
@@ -842,14 +842,14 @@
if (v & 0xFFF) == 0 {
v >>= 12
}
- return bool2int(v <= 0xFFF)
+ return obj.Bool2int(v <= 0xFFF)
}
func isbitcon(v uint64) int {
/* fancy bimm32 or bimm64? */
// TODO(aram):
return 0
- // return bool2int(findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil)
+ // return obj.Bool2int(findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil)
}
func autoclass(l int64) int {
@@ -2188,7 +2188,7 @@
case 24: /* mov/mvn Rs,Rd -> add $0,Rs,Rd or orr Rs,ZR,Rd */
rf := int(p.From.Reg)
rt := int(p.To.Reg)
- s := bool2int(rf == REGSP || rt == REGSP)
+ s := obj.Bool2int(rf == REGSP || rt == REGSP)
if p.As == AMVN || p.As == AMVNW {
if s != 0 {
ctxt.Diag("illegal SP reference\n%v", p)
diff --git a/src/cmd/internal/obj/arm64/obj7.go b/src/cmd/internal/obj/arm64/obj7.go
index 59a2659..09fb6d6 100644
--- a/src/cmd/internal/obj/arm64/obj7.go
+++ b/src/cmd/internal/obj/arm64/obj7.go
@@ -583,7 +583,7 @@
}
if !(p.From3.Offset&obj.NOSPLIT != 0) {
- p = stacksplit(ctxt, p, ctxt.Autosize, bool2int(cursym.Text.From3.Offset&obj.NEEDCTXT == 0)) // emit split check
+ p = stacksplit(ctxt, p, ctxt.Autosize, obj.Bool2int(cursym.Text.From3.Offset&obj.NEEDCTXT == 0)) // emit split check
}
aoffset = ctxt.Autosize
diff --git a/src/cmd/internal/obj/arm64/util.go b/src/cmd/internal/obj/arm64/util.go
deleted file mode 100644
index 7cb5040..0000000
--- a/src/cmd/internal/obj/arm64/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm64
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/internal/obj/ppc64/obj9.go b/src/cmd/internal/obj/ppc64/obj9.go
index e05061f..87a46ca 100644
--- a/src/cmd/internal/obj/ppc64/obj9.go
+++ b/src/cmd/internal/obj/ppc64/obj9.go
@@ -758,7 +758,7 @@
if ctxt.Cursym.Cfunc != 0 {
p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
} else {
- p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+ p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
}
// BR start
diff --git a/src/cmd/internal/obj/ppc64/util.go b/src/cmd/internal/obj/ppc64/util.go
deleted file mode 100644
index 0df4af7..0000000
--- a/src/cmd/internal/obj/ppc64/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package ppc64
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}
diff --git a/src/cmd/internal/obj/util.go b/src/cmd/internal/obj/util.go
index 189f961..03e6ad9 100644
--- a/src/cmd/internal/obj/util.go
+++ b/src/cmd/internal/obj/util.go
@@ -641,3 +641,10 @@
"VARDEF",
"VARKILL",
}
+
+func Bool2int(b bool) int {
+ if b {
+ return 1
+ }
+ return 0
+}
diff --git a/src/cmd/internal/obj/x86/asm6.go b/src/cmd/internal/obj/x86/asm6.go
index 6a367c2..480e2dd 100644
--- a/src/cmd/internal/obj/x86/asm6.go
+++ b/src/cmd/internal/obj/x86/asm6.go
@@ -2985,7 +2985,7 @@
f3t := int(p.F3t) * Ymax
tt := int(p.Tt) * Ymax
- xo := bool2int(o.op[0] == 0x0f)
+ xo := obj.Bool2int(o.op[0] == 0x0f)
z := 0
var a *obj.Addr
var l int
diff --git a/src/cmd/internal/obj/x86/obj6.go b/src/cmd/internal/obj/x86/obj6.go
index 3147573..d4c10e6 100644
--- a/src/cmd/internal/obj/x86/obj6.go
+++ b/src/cmd/internal/obj/x86/obj6.go
@@ -990,7 +990,7 @@
if ctxt.Cursym.Cfunc != 0 {
p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
} else {
- p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+ p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
}
p = obj.Appendp(ctxt, p)
diff --git a/src/cmd/internal/obj/x86/util.go b/src/cmd/internal/obj/x86/util.go
deleted file mode 100644
index dceedf8..0000000
--- a/src/cmd/internal/obj/x86/util.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package x86
-
-func bool2int(b bool) int {
- if b {
- return 1
- }
- return 0
-}