aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/types.cpp b/src/types.cpp
index fcfc91544..09fcc98b7 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -2436,7 +2436,31 @@ gbString write_type_to_string(gbString str, Type *type) {
break;
case Type_Proc:
- str = gb_string_appendc(str, "proc(");
+ str = gb_string_appendc(str, "proc");
+
+ switch (type->Proc.calling_convention) {
+ case ProcCC_Odin:
+ break;
+ case ProcCC_Contextless:
+ str = gb_string_appendc(str, " \"contextless\" ");
+ break;
+ case ProcCC_CDecl:
+ str = gb_string_appendc(str, " \"cdecl\" ");
+ break;
+ case ProcCC_StdCall:
+ str = gb_string_appendc(str, " \"stdcall\" ");
+ break;
+ case ProcCC_FastCall:
+ str = gb_string_appendc(str, " \"fastcall\" ");
+ break;
+ // case ProcCC_VectorCall:
+ // str = gb_string_appendc(str, " \"vectorcall\" ");
+ // break;
+ // case ProcCC_ClrCall:
+ // str = gb_string_appendc(str, " \"clrcall\" ");
+ // break;
+ }
+ str = gb_string_appendc(str, "(");
if (type->Proc.params) {
str = write_type_to_string(str, type->Proc.params);
}
@@ -2445,20 +2469,6 @@ gbString write_type_to_string(gbString str, Type *type) {
str = gb_string_appendc(str, " -> ");
str = write_type_to_string(str, type->Proc.results);
}
- switch (type->Proc.calling_convention) {
- case ProcCC_Odin:
- // str = gb_string_appendc(str, " #cc_odin");
- break;
- case ProcCC_C:
- str = gb_string_appendc(str, " #cc_c");
- break;
- case ProcCC_Std:
- str = gb_string_appendc(str, " #cc_std");
- break;
- case ProcCC_Fast:
- str = gb_string_appendc(str, " #cc_fast");
- break;
- }
break;
case Type_BitField: