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          '$'