aboutsummaryrefslogtreecommitdiff
path: root/tcc.c
diff options
context:
space:
mode:
authorbellard <bellard>2005-09-03 22:21:22 +0000
committerbellard <bellard>2005-09-03 22:21:22 +0000
commite9c64e3f473a29324988169f7fcffeff49649a96 (patch)
tree9d1098f4de5f8f61646b5d43ad0f627181b2c0b4 /tcc.c
parent81f957ae09642e4b8425c830a3444b464fb4aae4 (diff)
downloadtinycc-e9c64e3f473a29324988169f7fcffeff49649a96.tar.gz
tinycc-e9c64e3f473a29324988169f7fcffeff49649a96.tar.bz2
windows style fastcall (Filip Navara)
Diffstat (limited to 'tcc.c')
-rw-r--r--tcc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tcc.c b/tcc.c
index ba01a79..33db077 100644
--- a/tcc.c
+++ b/tcc.c
@@ -249,6 +249,7 @@ typedef struct AttributeDef {
#define FUNC_FASTCALL1 2 /* first param in %eax */
#define FUNC_FASTCALL2 3 /* first parameters in %eax, %edx */
#define FUNC_FASTCALL3 4 /* first parameter in %eax, %edx, %ecx */
+#define FUNC_FASTCALLW 5 /* first parameter in %ecx, %edx */
/* field 'Sym.t' for macros */
#define MACRO_OBJ 0 /* object like macro */
@@ -6428,6 +6429,11 @@ static void parse_attribute(AttributeDef *ad)
ad->func_call = FUNC_FASTCALL1 + n - 1;
skip(')');
break;
+ case TOK_FASTCALL1:
+ case TOK_FASTCALL2:
+ case TOK_FASTCALL3:
+ ad->func_call = FUNC_FASTCALLW;
+ break;
#endif
case TOK_DLLEXPORT:
ad->dllexport = 1;