| ... | ... | @@ -813,8 +813,19 @@ static const char *calling_convention_name(CallingConvention cc) { |
| 813 | 813 | case CallingConventionCold: return "coldcc"; |
| 814 | 814 | case CallingConventionNaked: return "nakedcc"; |
| 815 | 815 | case CallingConventionStdcall: return "stdcallcc"; |
| 816 | | default: zig_unreachable(); |
| 817 | 816 | } |
| 817 | zig_unreachable(); |
| 818 | } |
| 819 | |
| 820 | static const char *calling_convention_fn_type_str(CallingConvention cc) { |
| 821 | switch (cc) { |
| 822 | case CallingConventionUnspecified: return ""; |
| 823 | case CallingConventionC: return "extern "; |
| 824 | case CallingConventionCold: return "coldcc "; |
| 825 | case CallingConventionNaked: return "nakedcc "; |
| 826 | case CallingConventionStdcall: return "stdcallcc "; |
| 827 | } |
| 828 | zig_unreachable(); |
| 818 | 829 | } |
| 819 | 830 | |
| 820 | 831 | TypeTableEntry *get_fn_type(CodeGen *g, FnTypeId *fn_type_id) { |
| ... | ... | @@ -832,24 +843,7 @@ TypeTableEntry *get_fn_type(CodeGen *g, FnTypeId *fn_type_id) { |
| 832 | 843 | |
| 833 | 844 | // populate the name of the type |
| 834 | 845 | buf_resize(&fn_type->name, 0); |
| 835 | | const char *cc_str; |
| 836 | | switch (fn_type->data.fn.fn_type_id.cc) { |
| 837 | | case CallingConventionUnspecified: |
| 838 | | cc_str = ""; |
| 839 | | break; |
| 840 | | case CallingConventionC: |
| 841 | | cc_str = "extern "; |
| 842 | | break; |
| 843 | | case CallingConventionCold: |
| 844 | | cc_str = "coldcc "; |
| 845 | | break; |
| 846 | | case CallingConventionNaked: |
| 847 | | cc_str = "nakedcc "; |
| 848 | | break; |
| 849 | | case CallingConventionStdcall: |
| 850 | | cc_str = "stdcallcc "; |
| 851 | | break; |
| 852 | | } |
| 846 | const char *cc_str = calling_convention_fn_type_str(fn_type->data.fn.fn_type_id.cc); |
| 853 | 847 | buf_appendf(&fn_type->name, "%sfn(", cc_str); |
| 854 | 848 | for (size_t i = 0; i < fn_type_id->param_count; i += 1) { |
| 855 | 849 | FnTypeParamInfo *param_info = &fn_type_id->param_info[i]; |
| ... | ... | @@ -4145,6 +4139,8 @@ void render_const_value(CodeGen *g, Buf *buf, ConstExprValue *const_val) { |
| 4145 | 4139 | } |
| 4146 | 4140 | |
| 4147 | 4141 | TypeTableEntry *make_int_type(CodeGen *g, bool is_signed, uint32_t size_in_bits) { |
| 4142 | assert(size_in_bits > 0); |
| 4143 | |
| 4148 | 4144 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdInt); |
| 4149 | 4145 | entry->is_copyable = true; |
| 4150 | 4146 | entry->type_ref = LLVMIntType(size_in_bits); |