diff options
Diffstat (limited to 'test/fixedbugs/bug273.go')
-rw-r--r-- | test/fixedbugs/bug273.go | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/test/fixedbugs/bug273.go b/test/fixedbugs/bug273.go deleted file mode 100644 index 816f69e8f..000000000 --- a/test/fixedbugs/bug273.go +++ /dev/null @@ -1,101 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out - -// Copyright 2010 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. - -// http://code.google.com/p/go/issues/detail?id=589 - -package main - -import "unsafe" - -var bug = false - -var minus1 = -1 -var big int64 = 10 | 1<<32 - -var g1 []int - -func shouldfail(f func(), desc string) { - defer func() { recover() }() - f() - if !bug { - println("BUG") - bug = true - } - println("didn't crash: ", desc) -} - -func badlen() { - g1 = make([]int, minus1) -} - -func biglen() { - g1 = make([]int, big) -} - -func badcap() { - g1 = make([]int, 10, minus1) -} - -func badcap1() { - g1 = make([]int, 10, 5) -} - -func bigcap() { - g1 = make([]int, 10, big) -} - -const ( - addrBits = 8*uint(unsafe.Sizeof((*byte)(nil))) - sh = addrBits/2 - 2 -) -var g2 [][1<<sh][1<<sh]byte -func overflow() { - g2 = make([][1<<sh][1<<sh]byte, 64) -} - -var g3 map[int]int -func badmapcap() { - g3 = make(map[int]int, minus1) -} - -func bigmapcap() { - g3 = make(map[int]int, big) -} - -var g4 chan int -func badchancap() { - g4 = make(chan int, minus1) -} - -func bigchancap() { - g4 = make(chan int, big) -} - -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) - } -} - -func main() { - shouldfail(badlen, "badlen") - shouldfail(biglen, "biglen") - shouldfail(badcap, "badcap") - shouldfail(badcap1, "badcap1") - shouldfail(bigcap, "bigcap") - shouldfail(overflow, "overflow") - shouldfail(badmapcap, "badmapcap") - shouldfail(bigmapcap, "bigmapcap") - shouldfail(badchancap, "badchancap") - shouldfail(bigchancap, "bigchancap") - shouldfail(overflowchan, "overflowchan") -} |