URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug206.go] - Rev 700
Compare with Previous | Blame | View Log
// $G $D/$F.go && $L $F.$A && ./$A.out >/dev/null 2>&1 || echo BUG: bug206// 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 mainimport "go/ast";func g(list []ast.Expr) {n := len(list)-1;println(list[n].Pos());}// f is the same as g except that the expression assigned to n is inlined.func f(list []ast.Expr) {// n := len(list)-1;println(list[len(list)-1 /* n */].Pos());}func main() {list := []ast.Expr{&ast.Ident{}};g(list); // this worksf(list); // this doesn't}/*0throw: index out of rangepanic PC=0x2bcf10throw+0x33 /home/gri/go/src/pkg/runtime/runtime.c:71throw(0x470f8, 0x0)sys·throwindex+0x1c /home/gri/go/src/pkg/runtime/runtime.c:45sys·throwindex()main·f+0x26 /home/gri/go/test/bugs/bug206.go:16main·f(0x2b9560, 0x0)main·main+0xc3 /home/gri/go/test/bugs/bug206.go:23main·main()mainstart+0xf /home/gri/go/src/pkg/runtime/amd64/asm.s:55mainstart()goexit /home/gri/go/src/pkg/runtime/proc.c:133goexit()*/
