comparison 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
comparison
equal deleted inserted replaced
465:e2899b4ff713 466:ddfb9577a00e
60 #define DC_SIGCHAR_ENDARG ')' /* also works for end struct */ 60 #define DC_SIGCHAR_ENDARG ')' /* also works for end struct */
61 61
62 /* calling convention / mode signatures */ 62 /* calling convention / mode signatures */
63 63
64 #define DC_SIGCHAR_CC_PREFIX '_' 64 #define DC_SIGCHAR_CC_PREFIX '_'
65 #define DC_SIGCHAR_CC_DEFAULT ':' 65 #define DC_SIGCHAR_CC_DEFAULT ':' /* default calling conv (platform native) */
66 #define DC_SIGCHAR_CC_THISCALL '*' /* C++ this calls (platform native) */
66 #define DC_SIGCHAR_CC_ELLIPSIS 'e' 67 #define DC_SIGCHAR_CC_ELLIPSIS 'e'
67 #define DC_SIGCHAR_CC_ELLIPSIS_VARARGS '.' 68 #define DC_SIGCHAR_CC_ELLIPSIS_VARARGS '.'
68 #define DC_SIGCHAR_CC_CDECL 'c' 69 #define DC_SIGCHAR_CC_CDECL 'c' /* x86 specific */
69 #define DC_SIGCHAR_CC_STDCALL 's' 70 #define DC_SIGCHAR_CC_STDCALL 's' /* x86 specific */
70 #define DC_SIGCHAR_CC_FASTCALL_MS 'F' 71 #define DC_SIGCHAR_CC_FASTCALL_MS 'F' /* x86 specific */
71 #define DC_SIGCHAR_CC_FASTCALL_GNU 'f' 72 #define DC_SIGCHAR_CC_FASTCALL_GNU 'f' /* x86 specific */
72 #define DC_SIGCHAR_CC_THISCALL_MS '+' 73 #define DC_SIGCHAR_CC_THISCALL_MS '+' /* x86 specific, MS C++ this calls */
73 #define DC_SIGCHAR_CC_THISCALL_GNU '#' /* GNU thiscalls are cdecl, but keep specific sig char for clarity */ 74 #define DC_SIGCHAR_CC_THISCALL_GNU '#' /* x86 specific, GNU C++ this calls are cdecl, but keep specific sig char for clarity */
74 #define DC_SIGCHAR_CC_ARM_ARM 'A' 75 #define DC_SIGCHAR_CC_ARM_ARM 'A'
75 #define DC_SIGCHAR_CC_ARM_THUMB 'a' 76 #define DC_SIGCHAR_CC_ARM_THUMB 'a'
76 #define DC_SIGCHAR_CC_SYSCALL '$' 77 #define DC_SIGCHAR_CC_SYSCALL '$'
77 78
78 #endif /* DYNCALL_SIGNATURE_H */ 79 #endif /* DYNCALL_SIGNATURE_H */