]> Cypherpunks repositories - gostls13.git/commitdiff
wrong code for array access
authorRobert Griesemer <gri@golang.org>
Wed, 12 Nov 2008 22:57:23 +0000 (14:57 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 12 Nov 2008 22:57:23 +0000 (14:57 -0800)
R=r
OCL=19107
CL=19109

test/bugs/bug119.go [new file with mode: 0644]

diff --git a/test/bugs/bug119.go b/test/bugs/bug119.go
new file mode 100644 (file)
index 0000000..0934a43
--- /dev/null
@@ -0,0 +1,32 @@
+// $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 seesm to do the wrong thing
+}
+
+func main() {
+       a := &[]int{12};
+       if x := a[0]   ; x != 12 { panicln(1, x) }
+       if x := (*a)[0]; x != 12 { panicln(2, x) }
+       if x := foo(a) ; x != 12 { panicln(3, x) }  // fails (x is incorrect)
+}
+
+/*
+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$ 
+*/