Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_signature.h @ 466:ddfb9577a00e
introduced platform-native thiscall mode (DC_CALL_C_DEFAULT_THIS), as needed
for upcoming aggregate support (until now only x86 platforms allowed for
specifically selecting thiscall mode, given the different conventions on
the same platform); also added respective DC_SIGCHAR_CC_THISCALL ('*')
author | Tassilo Philipp |
---|---|
date | Wed, 02 Feb 2022 18:30:44 +0100 |
parents | a3e47b7c808c |
children | 71c884e610f0 |
line wrap: on
line diff
--- a/dyncall/dyncall_signature.h Wed Feb 02 12:55:23 2022 +0100 +++ b/dyncall/dyncall_signature.h Wed Feb 02 18:30:44 2022 +0100 @@ -62,15 +62,16 @@ /* calling convention / mode signatures */ #define DC_SIGCHAR_CC_PREFIX '_' -#define DC_SIGCHAR_CC_DEFAULT ':' +#define DC_SIGCHAR_CC_DEFAULT ':' /* default calling conv (platform native) */ +#define DC_SIGCHAR_CC_THISCALL '*' /* C++ this calls (platform native) */ #define DC_SIGCHAR_CC_ELLIPSIS 'e' #define DC_SIGCHAR_CC_ELLIPSIS_VARARGS '.' -#define DC_SIGCHAR_CC_CDECL 'c' -#define DC_SIGCHAR_CC_STDCALL 's' -#define DC_SIGCHAR_CC_FASTCALL_MS 'F' -#define DC_SIGCHAR_CC_FASTCALL_GNU 'f' -#define DC_SIGCHAR_CC_THISCALL_MS '+' -#define DC_SIGCHAR_CC_THISCALL_GNU '#' /* GNU thiscalls are cdecl, but keep specific sig char for clarity */ +#define DC_SIGCHAR_CC_CDECL 'c' /* x86 specific */ +#define DC_SIGCHAR_CC_STDCALL 's' /* x86 specific */ +#define DC_SIGCHAR_CC_FASTCALL_MS 'F' /* x86 specific */ +#define DC_SIGCHAR_CC_FASTCALL_GNU 'f' /* x86 specific */ +#define DC_SIGCHAR_CC_THISCALL_MS '+' /* x86 specific, MS C++ this calls */ +#define DC_SIGCHAR_CC_THISCALL_GNU '#' /* x86 specific, GNU C++ this calls are cdecl, but keep specific sig char for clarity */ #define DC_SIGCHAR_CC_ARM_ARM 'A' #define DC_SIGCHAR_CC_ARM_THUMB 'a' #define DC_SIGCHAR_CC_SYSCALL '$'