LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #include "go.h" | 5 #include "go.h" |
6 #include "y.tab.h" | 6 #include "y.tab.h" |
7 | 7 |
8 static void funcargs(Node*); | 8 static void funcargs(Node*); |
9 | 9 |
10 static int | 10 static int |
(...skipping 1223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1234 break; | 1234 break; |
1235 } | 1235 } |
1236 } | 1236 } |
1237 | 1237 |
1238 if(curfn) | 1238 if(curfn) |
1239 fatal("funccompile %S inside %S", n->nname->sym, curfn->nname->s
ym); | 1239 fatal("funccompile %S inside %S", n->nname->sym, curfn->nname->s
ym); |
1240 | 1240 |
1241 stksize = 0; | 1241 stksize = 0; |
1242 dclcontext = PAUTO; | 1242 dclcontext = PAUTO; |
1243 funcdepth = n->funcdepth + 1; | 1243 funcdepth = n->funcdepth + 1; |
| 1244 hasgoto = 0; |
1244 compile(n); | 1245 compile(n); |
| 1246 if(hasgoto) |
| 1247 clearstk(); |
1245 curfn = nil; | 1248 curfn = nil; |
1246 funcdepth = 0; | 1249 funcdepth = 0; |
1247 dclcontext = PEXTERN; | 1250 dclcontext = PEXTERN; |
1248 } | 1251 } |
1249 | 1252 |
| 1253 |
| 1254 |
LEFT | RIGHT |