- switch (type->calling_convention) {
- case CC_CDECL: fputs(" __cdecl", out); break;
- case CC_STDCALL: fputs(" __stdcall", out); break;
- case CC_FASTCALL: fputs(" __fastcall", out); break;
- case CC_THISCALL: fputs(" __thiscall", out); break;
- case CC_DEFAULT: break;
+ cc_kind_t cc = type->calling_convention;
+restart:
+ switch (cc) {
+ case CC_CDECL: print_string(" __cdecl"); break;
+ case CC_STDCALL: print_string(" __stdcall"); break;
+ case CC_FASTCALL: print_string(" __fastcall"); break;
+ case CC_THISCALL: print_string(" __thiscall"); break;
+ case CC_DEFAULT:
+ if (default_calling_convention != CC_CDECL) {
+ /* show the default calling convention if its not cdecl */
+ cc = default_calling_convention;
+ goto restart;
+ }
+ break;