summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2012-09-24 00:06:41 -0400
committerRuss Cox <rsc@golang.org>2012-09-24 00:06:41 -0400
commit0d82e698112464ea99bdd8cc2e695902b32e8e61 (patch)
tree4a25ad9c78fcba9b110edaabf3b3d947d809220d /test
parent3cd890dd5a8e5be33ce6f65ab7690ba0e1c235ef (diff)
downloadgo-git-0d82e698112464ea99bdd8cc2e695902b32e8e61.tar.gz
test: prepare for 64-bit ints
Minor tweaks to avoid assuming that int is always 32 bits. Update #2188. R=golang-dev, r CC=golang-dev https://golang.org/cl/6553062
Diffstat (limited to 'test')
-rw-r--r--test/bounds.go7
-rw-r--r--test/fixedbugs/bug273.go42
-rw-r--r--test/fixedbugs/bug385_64.go2
3 files changed, 18 insertions, 33 deletions
diff --git a/test/bounds.go b/test/bounds.go
index 4a16f64d3d..50f7ad7419 100644
--- a/test/bounds.go
+++ b/test/bounds.go
@@ -247,10 +247,8 @@ func main() {
use(s[ui/1e6])
use(a1[ui/1e6])
use(a1k[ui/1e6])
- use(a100k[ui/1e6]) // ERROR "index bounds check elided"
use(p1[ui/1e6])
use(p1k[ui/1e6])
- use(p100k[ui/1e6]) // ERROR "index bounds check elided"
use(s[i/1e7])
use(a1[i/1e7])
@@ -262,12 +260,7 @@ func main() {
use(s[ui/1e7])
use(a1[ui/1e7])
- use(a1k[ui/1e7]) // ERROR "index bounds check elided"
- use(a100k[ui/1e7]) // ERROR "index bounds check elided"
use(p1[ui/1e7])
- use(p1k[ui/1e7]) // ERROR "index bounds check elided"
- use(p100k[ui/1e7]) // ERROR "index bounds check elided"
-
}
var sum int
diff --git a/test/fixedbugs/bug273.go b/test/fixedbugs/bug273.go
index b35b17d2ed..c5e73e945c 100644
--- a/test/fixedbugs/bug273.go
+++ b/test/fixedbugs/bug273.go
@@ -8,14 +8,14 @@
package main
-import "unsafe"
-
var bug = false
var minus1 = -1
var big int64 = 10 | 1<<32
-var g1 []int
+type block [1<<19]byte
+
+var g1 []block
func shouldfail(f func(), desc string) {
defer func() { recover() }()
@@ -28,55 +28,47 @@ func shouldfail(f func(), desc string) {
}
func badlen() {
- g1 = make([]int, minus1)
+ g1 = make([]block, minus1)
}
func biglen() {
- g1 = make([]int, big)
+ g1 = make([]block, big)
}
func badcap() {
- g1 = make([]int, 10, minus1)
+ g1 = make([]block, 10, minus1)
}
func badcap1() {
- g1 = make([]int, 10, 5)
+ g1 = make([]block, 10, 5)
}
func bigcap() {
- g1 = make([]int, 10, big)
+ g1 = make([]block, 10, big)
}
-var g3 map[int]int
+var g3 map[block]block
func badmapcap() {
- g3 = make(map[int]int, minus1)
+ g3 = make(map[block]block, minus1)
}
func bigmapcap() {
- g3 = make(map[int]int, big)
+ g3 = make(map[block]block, big)
}
-var g4 chan int
+type cblock [1<<16-1]byte
+
+var g4 chan cblock
func badchancap() {
- g4 = make(chan int, minus1)
+ g4 = make(chan cblock, minus1)
}
func bigchancap() {
- g4 = make(chan int, big)
+ g4 = make(chan cblock, big)
}
-const addrBits = unsafe.Sizeof((*byte)(nil))
-
-var g5 chan [1<<15]byte
func overflowchan() {
- if addrBits == 32 {
- g5 = make(chan [1<<15]byte, 1<<20)
- } else {
- // cannot overflow on 64-bit, because
- // int is 32 bits and max chan value size
- // in the implementation is 64 kB.
- panic(1)
- }
+ g4 = make(chan cblock, 1<<30)
}
func main() {
diff --git a/test/fixedbugs/bug385_64.go b/test/fixedbugs/bug385_64.go
index 76afa9a335..8c7b9d5208 100644
--- a/test/fixedbugs/bug385_64.go
+++ b/test/fixedbugs/bug385_64.go
@@ -11,7 +11,7 @@
package main
func main() { // ERROR "stack frame too large"
- var arr [1000200030]int
+ var arr [1000200030]int32
arr_bkup := arr
_ = arr_bkup
}