aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
authorgrischka <grischka>2010-12-17 13:15:01 +0100
committergrischka <grischka>2011-07-14 19:24:53 +0200
commit8d107d9ffd8126d82b1c56be47431a6bcef39f08 (patch)
treeba4147926a581f5e8e5418bc61393e9fb0fd336a /tccgen.c
parentaa80e5b1ff9a0dedb5a41916716870345033ca30 (diff)
downloadtinycc-8d107d9ffd8126d82b1c56be47431a6bcef39f08.tar.gz
tinycc-8d107d9ffd8126d82b1c56be47431a6bcef39f08.tar.bz2
win64: va_arg with structures
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c4
1 files changed, 4 insertions, 0 deletions
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