diff options
Diffstat (limited to 'c67-gen.c')
| -rw-r--r-- | c67-gen.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -25,6 +25,8 @@ /* number of available registers */ #define NB_REGS 24 +typedef int RegArgs; + /* a register can belong to several classes. The classes must be sorted from more general to more precise (see gv2() code which does assumptions on it). */ @@ -1879,10 +1881,17 @@ static void gcall_or_jmp(int is_jmp) } } +ST_FUNC int regargs_nregs(RegArgs *args) +{ + return *args; +} + /* Return the number of registers needed to return the struct, or 0 if returning via struct pointer. */ -ST_FUNC int gfunc_sret(CType *vt, int variadic, CType *ret, int *ret_align, int *regsize) { +ST_FUNC int gfunc_sret(CType *vt, int variadic, CType *ret, int *ret_align, int *regsize, RegArgs *args) { *ret_align = 1; // Never have to re-align return values for x86-64 + *args = 0; + return 0; } |
