diff options
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); |