mirror of
https://github.com/golang/go
synced 2024-11-22 14:34:45 -07:00
test: restore binary.BigEndian use in checkbce
CL 136855 removed the encoding/binary dependency from the checkbce.go test by defining a local Uint64 to fix the noopt builder; then a more general mechanism to skip tests on the noopt builder was introduced in CL 136898, so we can now restore the binary.Uint64 calls in testbce. Change-Id: I3efbb41be0bfc446a7e638ce6a593371ead2684f Reviewed-on: https://go-review.googlesource.com/137056 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> Reviewed-by: Giovanni Bajo <rasky@develer.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
5be78668ef
commit
8c1c6702f1
@ -10,6 +10,8 @@
|
||||
|
||||
package main
|
||||
|
||||
import "encoding/binary"
|
||||
|
||||
func f0(a []int) {
|
||||
a[0] = 1 // ERROR "Found IsInBounds$"
|
||||
a[0] = 1
|
||||
@ -142,18 +144,12 @@ func g4(a [100]int) {
|
||||
}
|
||||
}
|
||||
|
||||
func Uint64(b []byte) uint64 {
|
||||
_ = b[7] // ERROR "Found IsInBounds$"
|
||||
return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
|
||||
uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
|
||||
}
|
||||
|
||||
func decode1(data []byte) (x uint64) {
|
||||
for len(data) >= 32 {
|
||||
x += Uint64(data[:8])
|
||||
x += Uint64(data[8:16])
|
||||
x += Uint64(data[16:24])
|
||||
x += Uint64(data[24:32])
|
||||
x += binary.BigEndian.Uint64(data[:8])
|
||||
x += binary.BigEndian.Uint64(data[8:16])
|
||||
x += binary.BigEndian.Uint64(data[16:24])
|
||||
x += binary.BigEndian.Uint64(data[24:32])
|
||||
data = data[32:]
|
||||
}
|
||||
return x
|
||||
@ -163,13 +159,13 @@ func decode2(data []byte) (x uint64) {
|
||||
// TODO(rasky): this should behave like decode1 and compile to no
|
||||
// boundchecks. We're currently not able to remove all of them.
|
||||
for len(data) >= 32 {
|
||||
x += Uint64(data)
|
||||
x += binary.BigEndian.Uint64(data)
|
||||
data = data[8:]
|
||||
x += Uint64(data) // ERROR "Found IsInBounds$"
|
||||
x += binary.BigEndian.Uint64(data) // ERROR "Found IsInBounds$"
|
||||
data = data[8:]
|
||||
x += Uint64(data) // ERROR "Found IsInBounds$"
|
||||
x += binary.BigEndian.Uint64(data) // ERROR "Found IsInBounds$"
|
||||
data = data[8:]
|
||||
x += Uint64(data) // ERROR "Found IsInBounds$"
|
||||
x += binary.BigEndian.Uint64(data) // ERROR "Found IsInBounds$"
|
||||
data = data[8:]
|
||||
}
|
||||
return x
|
||||
|
Loading…
Reference in New Issue
Block a user