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 --- tcc.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'tcc.h') diff --git a/tcc.h b/tcc.h index 3e577aa..c2a69ca 100644 --- a/tcc.h +++ b/tcc.h @@ -583,14 +583,14 @@ struct TCCState { }; /* The current value can be: */ -#define VT_VALMASK 0x00ff -#define VT_CONST 0x00f0 /* constant in vc +#define VT_VALMASK 0x001f +#define VT_CONST 0x0010 /* constant in vc (must be first non register value) */ -#define VT_LLOCAL 0x00f1 /* lvalue, offset on stack */ -#define VT_LOCAL 0x00f2 /* offset on stack */ -#define VT_CMP 0x00f3 /* the value is stored in processor flags (in vc) */ -#define VT_JMP 0x00f4 /* value is the consequence of jmp true (even) */ -#define VT_JMPI 0x00f5 /* value is the consequence of jmp false (odd) */ +#define VT_LLOCAL 0x0011 /* lvalue, offset on stack */ +#define VT_LOCAL 0x0012 /* offset on stack */ +#define VT_CMP 0x0013 /* the value is stored in processor flags (in vc) */ +#define VT_JMP 0x0014 /* value is the consequence of jmp true (even) */ +#define VT_JMPI 0x0015 /* value is the consequence of jmp false (odd) */ #define VT_LVAL 0x0100 /* var is an lvalue */ #define VT_SYM 0x0200 /* a symbol value is added */ #define VT_MUSTCAST 0x0400 /* value must be casted to be correct (used for @@ -604,6 +604,8 @@ struct TCCState { #define VT_LVAL_UNSIGNED 0x4000 /* lvalue is unsigned */ #define VT_LVAL_TYPE (VT_LVAL_BYTE | VT_LVAL_SHORT | VT_LVAL_UNSIGNED) +#define VT_REF 0x0020 + /* types */ #define VT_INT 0 /* integer type */ #define VT_BYTE 1 /* signed byte type */ -- cgit v1.3.1