diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:13:40 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:13:40 +0200 |
commit | 5ff4c17907d5b19510a62e08fd8d3b11e62b431d (patch) | |
tree | c0650497e988f47be9c6f2324fa692a52dea82e1 /test/fixedbugs/bug119.go | |
parent | 80f18fc933cf3f3e829c5455a1023d69f7b86e52 (diff) | |
download | golang-upstream/60.tar.gz |
Imported Upstream version 60upstream/60
Diffstat (limited to 'test/fixedbugs/bug119.go')
-rw-r--r-- | test/fixedbugs/bug119.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/fixedbugs/bug119.go b/test/fixedbugs/bug119.go new file mode 100644 index 000000000..750507891 --- /dev/null +++ b/test/fixedbugs/bug119.go @@ -0,0 +1,36 @@ +// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: should not fail + +// Copyright 2009 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 foo(a []int) int { + return a[0] // this seems to do the wrong thing +} + +func main() { + a := &[]int{12} + if x := (*a)[0]; x != 12 { + panic(2) + } + if x := foo(*a); x != 12 { + // fails (x is incorrect) + panic(3) + } +} + +/* +uetli:~/Source/go1/test/bugs gri$ 6go bug119 +3 70160 + +panic on line 83 PC=0x14d6 +0x14d6?zi + main·main(23659, 0, 1, ...) + main·main(0x5c6b, 0x1, 0x7fff5fbff830, ...) +0x52bb?zi + mainstart(1, 0, 1606416432, ...) + mainstart(0x1, 0x7fff5fbff830, 0x0, ...) +uetli:~/Source/go1/test/bugs gri$ +*/ |