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

} | |

} |