| // run | |
| // Copyright 2012 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. | |
| // gc used to overflow a counter when a variable was | |
| // mentioned 256 times, and generate stack corruption. | |
| package main | |
| func main() { | |
| F(1) | |
| } | |
| func F(arg int) { | |
| var X interface{} | |
| _ = X // used once | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 32 times | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 64 times | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 96 times | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 128 times | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 200 times | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 | |
| X = 0 // used 256 times | |
| if arg != 1 { | |
| panic("argument was changed") | |
| } | |
| } |