diff options
| author | bellard <bellard> | 2005-09-03 22:21:22 +0000 |
|---|---|---|
| committer | bellard <bellard> | 2005-09-03 22:21:22 +0000 |
| commit | e9c64e3f473a29324988169f7fcffeff49649a96 (patch) | |
| tree | 9d1098f4de5f8f61646b5d43ad0f627181b2c0b4 /tcc.c | |
| parent | 81f957ae09642e4b8425c830a3444b464fb4aae4 (diff) | |
| download | tinycc-e9c64e3f473a29324988169f7fcffeff49649a96.tar.gz tinycc-e9c64e3f473a29324988169f7fcffeff49649a96.tar.bz2 | |
windows style fastcall (Filip Navara)
Diffstat (limited to 'tcc.c')
| -rw-r--r-- | tcc.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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; |
