From 8c1c6702f1a29f1944e6d0035dd8430dc8b43deb Mon Sep 17 00:00:00 2001 From: Alberto Donizetti Date: Mon, 24 Sep 2018 23:05:39 +0200 Subject: [PATCH] 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 Reviewed-by: Giovanni Bajo Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- test/checkbce.go | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/test/checkbce.go b/test/checkbce.go index ef4e584ca0..a8f060aa72 100644 --- a/test/checkbce.go +++ b/test/checkbce.go @@ -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 -- 2.48.1