blob: 7268912454268c72300762a23573c695949dd6b7 [file] [log] [blame]
Rémy Oudomphengf2ad3742012-02-21 16:38:01 +11001// run
2
3// Copyright 2012 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7// gc used to overflow a counter when a variable was
8// mentioned 256 times, and generate stack corruption.
9
10package main
11
12func main() {
13 F(1)
14}
15
16func F(arg int) {
Rémy Oudompheng9666a952012-02-21 07:50:10 +010017 var X interface{}
Rémy Oudomphengf2ad3742012-02-21 16:38:01 +110018 _ = X // used once
19 X = 0
20 X = 0
21 X = 0
22 X = 0
23 X = 0
24 X = 0
25 X = 0
26 X = 0
27 X = 0
28 X = 0
29 X = 0
30 X = 0
31 X = 0
32 X = 0
33 X = 0
34 X = 0
35 X = 0
36 X = 0
37 X = 0
38 X = 0
39 X = 0
40 X = 0
41 X = 0
42 X = 0
43 X = 0
44 X = 0
45 X = 0
46 X = 0
47 X = 0
48 X = 0
49 X = 0 // used 32 times
50 X = 0
51 X = 0
52 X = 0
53 X = 0
54 X = 0
55 X = 0
56 X = 0
57 X = 0
58 X = 0
59 X = 0
60 X = 0
61 X = 0
62 X = 0
63 X = 0
64 X = 0
65 X = 0
66 X = 0
67 X = 0
68 X = 0
69 X = 0
70 X = 0
71 X = 0
72 X = 0
73 X = 0
74 X = 0
75 X = 0
76 X = 0
77 X = 0
78 X = 0
79 X = 0
80 X = 0
81 X = 0 // used 64 times
82 X = 0
83 X = 0
84 X = 0
85 X = 0
86 X = 0
87 X = 0
88 X = 0
89 X = 0
90 X = 0
91 X = 0
92 X = 0
93 X = 0
94 X = 0
95 X = 0
96 X = 0
97 X = 0
98 X = 0
99 X = 0
100 X = 0
101 X = 0
102 X = 0
103 X = 0
104 X = 0
105 X = 0
106 X = 0
107 X = 0
108 X = 0
109 X = 0
110 X = 0
111 X = 0
112 X = 0
113 X = 0
114 X = 0
115 X = 0
116 X = 0
117 X = 0
118 X = 0
119 X = 0
120 X = 0
121 X = 0 // used 96 times
122 X = 0
123 X = 0
124 X = 0
125 X = 0
126 X = 0
127 X = 0
128 X = 0
129 X = 0
130 X = 0
131 X = 0
132 X = 0
133 X = 0
134 X = 0
135 X = 0
136 X = 0
137 X = 0
138 X = 0
139 X = 0
140 X = 0
141 X = 0
142 X = 0
143 X = 0
144 X = 0
145 X = 0 // used 128 times
146 X = 0
147 X = 0
148 X = 0
149 X = 0
150 X = 0
151 X = 0
152 X = 0
153 X = 0
154 X = 0
155 X = 0
156 X = 0
157 X = 0
158 X = 0
159 X = 0
160 X = 0
161 X = 0
162 X = 0
163 X = 0
164 X = 0
165 X = 0
166 X = 0
167 X = 0
168 X = 0
169 X = 0
170 X = 0
171 X = 0
172 X = 0
173 X = 0
174 X = 0
175 X = 0
176 X = 0
177 X = 0
178 X = 0
179 X = 0
180 X = 0
181 X = 0
182 X = 0
183 X = 0
184 X = 0
185 X = 0
186 X = 0
187 X = 0
188 X = 0
189 X = 0
190 X = 0
191 X = 0
192 X = 0
193 X = 0
194 X = 0
195 X = 0
196 X = 0
197 X = 0
198 X = 0
199 X = 0
200 X = 0
201 X = 0
202 X = 0
203 X = 0
204 X = 0
205 X = 0
206 X = 0
207 X = 0
208 X = 0
209 X = 0 // used 200 times
210 X = 0
211 X = 0
212 X = 0
213 X = 0
214 X = 0
215 X = 0
216 X = 0
217 X = 0
218 X = 0
219 X = 0
220 X = 0
221 X = 0
222 X = 0
223 X = 0
224 X = 0
225 X = 0
226 X = 0
227 X = 0
228 X = 0
229 X = 0
230 X = 0
231 X = 0
232 X = 0
233 X = 0
234 X = 0
235 X = 0
236 X = 0
237 X = 0
238 X = 0
239 X = 0
240 X = 0
241 X = 0
242 X = 0
243 X = 0
244 X = 0
245 X = 0
246 X = 0
247 X = 0
248 X = 0
249 X = 0
250 X = 0
251 X = 0
252 X = 0
253 X = 0
254 X = 0
255 X = 0
256 X = 0
257 X = 0
258 X = 0
259 X = 0
260 X = 0
261 X = 0
262 X = 0
263 X = 0
264 X = 0
265 X = 0
266 X = 0
267 X = 0
268 X = 0
269 X = 0
270 X = 0
271 X = 0
272 X = 0
273 X = 0 // used 256 times
Rob Pikeb8886712012-02-21 16:47:42 +1100274 if arg != 1 {
Rémy Oudomphengf2ad3742012-02-21 16:38:01 +1100275 panic("argument was changed")
276 }
277}