From 240cfcd5cdda9301457867f9d26edcd0cf272b24 Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Thu, 17 Mar 2016 13:41:12 -0400 Subject: support return of structs --- lisc/lisc.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lisc/lisc.h') diff --git a/lisc/lisc.h b/lisc/lisc.h index 5374bdd..c730b1f 100644 --- a/lisc/lisc.h +++ b/lisc/lisc.h @@ -297,6 +297,7 @@ enum Jmp { JRets, JRetd, JRetc, +#define isret(j) (JRet0 <= j && j <= JRetc) JJmp, JJnz, JXJc, @@ -419,7 +420,8 @@ struct Fn { int ncon; int nmem; int nblk; - int retty; + int retty; /* index in typ[], -1 if no aggregate return */ + Ref retr; Blk **rpo; bits reg; int slot; @@ -483,7 +485,7 @@ Ins *icpy(Ins *, Ins *, ulong); void *vnew(ulong, size_t); void vgrow(void *, ulong); int phicls(int, Tmp *); -Ref newtmp(char *, Fn *); +Ref newtmp(char *, int, Fn *); Ref getcon(int64_t, Fn *); void addcon(Con *, Con *); void dumpts(BSet *, Tmp *, FILE *); -- cgit 1.4.1