comparison dyncallback/dyncall_callback_x86.c @ 358:30aae7371373

- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall - made formatted call (dcV?{Call,Arg}F) interface use those calling convention mode signature specifications to begin with - extended callf testcode with one standard and one vararg call to test those cc mode switches
author Tassilo Philipp
date Mon, 13 Apr 2020 15:12:01 +0200
parents f5577f6bf97a
children 3bdd326dc269
comparison
equal deleted inserted replaced
357:d982a00c2177 358:30aae7371373
201 if(ch == DC_SIGCHAR_CC_PREFIX) 201 if(ch == DC_SIGCHAR_CC_PREFIX)
202 { 202 {
203 ptr++; 203 ptr++;
204 ch = *ptr++; 204 ch = *ptr++;
205 switch(ch) { 205 switch(ch) {
206 case DC_SIGCHAR_CC_DEFAULT: mode = DC_CALL_C_DEFAULT; break;
207 /*@@@ add ellipsis?*/
208 case DC_SIGCHAR_CC_CDECL: mode = DC_CALL_C_X86_CDECL; break;
206 case DC_SIGCHAR_CC_STDCALL: mode = DC_CALL_C_X86_WIN32_STD; break; 209 case DC_SIGCHAR_CC_STDCALL: mode = DC_CALL_C_X86_WIN32_STD; break;
210 case DC_SIGCHAR_CC_FASTCALL_MS: mode = DC_CALL_C_X86_WIN32_FAST_MS; break;
211 case DC_SIGCHAR_CC_FASTCALL_GNU: mode = DC_CALL_C_X86_WIN32_FAST_GNU; break;
207 case DC_SIGCHAR_CC_THISCALL_MS: mode = DC_CALL_C_X86_WIN32_THIS_MS; break; 212 case DC_SIGCHAR_CC_THISCALL_MS: mode = DC_CALL_C_X86_WIN32_THIS_MS; break;
208 case DC_SIGCHAR_CC_FASTCALL_GNU: mode = DC_CALL_C_X86_WIN32_FAST_GNU; break; 213 case DC_SIGCHAR_CC_THISCALL_GNU: mode = DC_CALL_C_X86_WIN32_THIS_GNU; break;
209 case DC_SIGCHAR_CC_FASTCALL_MS: mode = DC_CALL_C_X86_WIN32_FAST_MS; break; 214 case DC_SIGCHAR_CC_SYSCALL: mode = DC_CALL_SYS_DEFAULT; break;
210 } 215 }
211 } 216 }
212 217
213 /* x86 configuration: */ 218 /* x86 configuration: */
214 219