From 8d107d9ffd8126d82b1c56be47431a6bcef39f08 Mon Sep 17 00:00:00 2001 From: grischka Date: Fri, 17 Dec 2010 13:15:01 +0100 Subject: win64: va_arg with structures --- tccgen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index fe4a070..a7f943d 100644 --- a/tccgen.c +++ b/tccgen.c @@ -608,10 +608,14 @@ static void move_reg(int r, int s) /* get address of vtop (vtop MUST BE an lvalue) */ static void gaddrof(void) { + if (vtop->r & VT_REF) + gv(RC_INT); vtop->r &= ~VT_LVAL; /* tricky: if saved lvalue, then we can go back to lvalue */ if ((vtop->r & VT_VALMASK) == VT_LLOCAL) vtop->r = (vtop->r & ~(VT_VALMASK | VT_LVAL_TYPE)) | VT_LOCAL | VT_LVAL; + + } #ifdef CONFIG_TCC_BCHECK -- cgit v1.3.1