1
0
mirror of https://github.com/golang/go synced 2024-11-25 14:37:56 -07:00
go/test/bugs/bug119.go
Robert Griesemer 20b9bfb136 wrong code for array access
R=r
OCL=19107
CL=19109
2008-11-12 14:57:23 -08:00

33 lines
812 B
Go

// $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$
*/