Source file test/fixedbugs/bug423.go

     1  // 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  
    10  package main
    11  
    12  func main() {
    13  	F(1)
    14  }
    15  
    16  func F(arg int) {
    17  	var X interface{}
    18  	_ = 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
   274  	if arg != 1 {
   275  		panic("argument was changed")
   276  	}
   277  }
   278  

View as plain text