diff options
author | Russ Cox <rsc@golang.org> | 2011-07-27 19:31:11 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2011-07-27 19:31:11 -0400 |
commit | f310dca44c6aef5f54b0a7a0cd1f0a0a5cc57376 (patch) | |
tree | 8fb33abca5e6b16c4fbd272229db4f79379b66ac /src/cmd/gc/closure.c | |
parent | 1d817a6b164a7736a7b80a52603c0e2b67821a85 (diff) | |
download | go-f310dca44c6aef5f54b0a7a0cd1f0a0a5cc57376.tar.gz |
gc: top-level closure bug
Fixes issue 2055.
R=ken2
CC=golang-dev
http://codereview.appspot.com/4816059
Diffstat (limited to 'src/cmd/gc/closure.c')
-rw-r--r-- | src/cmd/gc/closure.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/gc/closure.c b/src/cmd/gc/closure.c index 7e7b40526..1261eefb7 100644 --- a/src/cmd/gc/closure.c +++ b/src/cmd/gc/closure.c @@ -84,6 +84,11 @@ typecheckclosure(Node *func, int top) oldfn = curfn; typecheck(&func->ntype, Etype); func->type = func->ntype->type; + if(curfn == nil) { + xtop = list(xtop, func); + return; + } + if(func->type != T) { curfn = func; typechecklist(func->nbody, Etop); |