# HG changeset patch
# User Tassilo Philipp
# Date 1586807928 -7200
# Node ID b6114d9a9a98126ca4743f63061e0542e80db748
# Parent  9943c30ee2aa30b6ed32c5b661462572d05d96f4
- shdc: more sig chars for call conv mode selection
- readme cleanup

diff -r 9943c30ee2aa -r b6114d9a9a98 ruby/rbdc/README.txt
--- a/ruby/rbdc/README.txt	Mon Apr 13 21:41:59 2020 +0200
+++ b/ruby/rbdc/README.txt	Mon Apr 13 21:58:48 2020 +0200
@@ -63,7 +63,7 @@
 TODO
 ====
 
-- signature suffixes used to indicate calling conventions are not supported yet!
+- signature chars used to indicate calling conventions are not supported yet!
 - C pointer -> ruby... array?
 - callback support
 
diff -r 9943c30ee2aa -r b6114d9a9a98 shell/shdc/shdc.c
--- a/shell/shdc/shdc.c	Mon Apr 13 21:41:59 2020 +0200
+++ b/shell/shdc/shdc.c	Mon Apr 13 21:58:48 2020 +0200
@@ -126,11 +126,18 @@
 			switch(*i) {
 				case DC_SIGCHAR_CC_PREFIX:
 					switch(*++i) {
-						case DC_SIGCHAR_CC_ELLIPSIS:     dcMode(vm, DC_CALL_C_ELLIPSIS);           break;
-						case DC_SIGCHAR_CC_STDCALL:      dcMode(vm, DC_CALL_C_X86_WIN32_STD);      break;
-						case DC_SIGCHAR_CC_FASTCALL_GNU: dcMode(vm, DC_CALL_C_X86_WIN32_FAST_GNU); break;
-						case DC_SIGCHAR_CC_FASTCALL_MS:  dcMode(vm, DC_CALL_C_X86_WIN32_FAST_MS);  break;
-						case DC_SIGCHAR_CC_THISCALL_MS:  dcMode(vm, DC_CALL_C_X86_WIN32_THIS_MS);  break;
+						case DC_SIGCHAR_CC_DEFAULT:          dcMode(vm, DC_CALL_C_DEFAULT           ); break;
+						case DC_SIGCHAR_CC_ELLIPSIS:         dcMode(vm, DC_CALL_C_ELLIPSIS          ); break;
+						case DC_SIGCHAR_CC_ELLIPSIS_VARARGS: dcMode(vm, DC_CALL_C_ELLIPSIS_VARARGS  ); break;
+						case DC_SIGCHAR_CC_CDECL:            dcMode(vm, DC_CALL_C_X86_CDECL         ); break;
+						case DC_SIGCHAR_CC_STDCALL:          dcMode(vm, DC_CALL_C_X86_WIN32_STD     ); break;
+						case DC_SIGCHAR_CC_FASTCALL_MS:      dcMode(vm, DC_CALL_C_X86_WIN32_FAST_MS ); break;
+						case DC_SIGCHAR_CC_FASTCALL_GNU:     dcMode(vm, DC_CALL_C_X86_WIN32_FAST_GNU); break;
+						case DC_SIGCHAR_CC_THISCALL_MS:      dcMode(vm, DC_CALL_C_X86_WIN32_THIS_MS ); break;
+						case DC_SIGCHAR_CC_THISCALL_GNU:     dcMode(vm, DC_CALL_C_X86_WIN32_THIS_GNU); break;
+						case DC_SIGCHAR_CC_ARM_ARM:          dcMode(vm, DC_CALL_C_ARM_ARM           ); break;
+						case DC_SIGCHAR_CC_ARM_THUMB:        dcMode(vm, DC_CALL_C_ARM_THUMB         ); break;
+						case DC_SIGCHAR_CC_SYSCALL:          dcMode(vm, DC_CALL_SYS_DEFAULT         ); break;
 						/* @@@ extend with other modes when they become available */
 					}
 					sig += 2;