| // 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") |
| } |
| } |