diff options
Diffstat (limited to 'lisc/parse.c')
-rw-r--r-- | lisc/parse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisc/parse.c b/lisc/parse.c index 1f2e557..51917a0 100644 --- a/lisc/parse.c +++ b/lisc/parse.c @@ -507,9 +507,10 @@ parseline(PState ps) case TRet: curb->jmp.type = (int[]){ JRetw, JRetl, + JRets, JRetd, JRetc, JRet0 }[rcls]; - if (rcls < 3) { + if (rcls < 5) { r = parseref(); if (req(r, R)) err("return value expected"); @@ -632,7 +633,7 @@ parsefn() if (peek() != TGlo) rcls = parsecls(&fn->retty); else - rcls = 3; + rcls = 5; if (next() != TGlo) err("function name expected"); strcpy(fn->name, tokval.str); |