| ... | @@ -6177,58 +6177,29 @@ static void define_builtin_types(CodeGen *g) { | ... | @@ -6177,58 +6177,29 @@ static void define_builtin_types(CodeGen *g) { |
| 6177 | g->builtin_types.entry_usize = entry; | 6177 | g->builtin_types.entry_usize = entry; |
| 6178 | } | 6178 | } |
| 6179 | } | 6179 | } |
| 6180 | { | | |
| 6181 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat); | | |
| 6182 | entry->type_ref = LLVMFloatType(); | | |
| 6183 | buf_init_from_str(&entry->name, "f32"); | | |
| 6184 | entry->data.floating.bit_count = 32; | | |
| 6185 | | | |
| 6186 | uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); | | |
| 6187 | entry->di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | | |
| 6188 | debug_size_in_bits, | | |
| 6189 | ZigLLVMEncoding_DW_ATE_float()); | | |
| 6190 | g->builtin_types.entry_f32 = entry; | | |
| 6191 | g->primitive_type_table.put(&entry->name, entry); | | |
| 6192 | } | | |
| 6193 | { | | |
| 6194 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat); | | |
| 6195 | entry->type_ref = LLVMDoubleType(); | | |
| 6196 | buf_init_from_str(&entry->name, "f64"); | | |
| 6197 | entry->data.floating.bit_count = 64; | | |
| 6198 | | 6180 | |
| 6199 | uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); | 6181 | auto add_fp_entry = [] (CodeGen *g, |
| 6200 | entry->di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | 6182 | const char *name, |
| 6201 | debug_size_in_bits, | 6183 | uint32_t bit_count, |
| 6202 | ZigLLVMEncoding_DW_ATE_float()); | 6184 | LLVMTypeRef type_ref, |
| 6203 | g->builtin_types.entry_f64 = entry; | 6185 | TypeTableEntry **field) { |
| 6204 | g->primitive_type_table.put(&entry->name, entry); | | |
| 6205 | } | | |
| 6206 | { | | |
| 6207 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat); | 6186 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat); |
| 6208 | entry->type_ref = LLVMFP128Type(); | 6187 | entry->type_ref = type_ref; |
| 6209 | buf_init_from_str(&entry->name, "f128"); | 6188 | buf_init_from_str(&entry->name, name); |
| 6210 | entry->data.floating.bit_count = 128; | 6189 | entry->data.floating.bit_count = bit_count; |
| 6211 | | 6190 | |
| 6212 | uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); | 6191 | uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); |
| 6213 | entry->di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | 6192 | entry->di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), |
| 6214 | debug_size_in_bits, | 6193 | debug_size_in_bits, |
| 6215 | ZigLLVMEncoding_DW_ATE_float()); | 6194 | ZigLLVMEncoding_DW_ATE_float()); |
| 6216 | g->builtin_types.entry_f128 = entry; | 6195 | *field = entry; |
| 6217 | g->primitive_type_table.put(&entry->name, entry); | 6196 | g->primitive_type_table.put(&entry->name, entry); |
| 6218 | } | 6197 | }; |
| 6219 | { | 6198 | add_fp_entry(g, "f32", 32, LLVMFloatType(), &g->builtin_types.entry_f32); |
| 6220 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat); | 6199 | add_fp_entry(g, "f64", 64, LLVMDoubleType(), &g->builtin_types.entry_f64); |
| 6221 | entry->type_ref = LLVMX86FP80Type(); | 6200 | add_fp_entry(g, "f128", 128, LLVMFP128Type(), &g->builtin_types.entry_f128); |
| 6222 | buf_init_from_str(&entry->name, "c_longdouble"); | 6201 | add_fp_entry(g, "c_longdouble", 80, LLVMX86FP80Type(), &g->builtin_types.entry_c_longdouble); |
| 6223 | entry->data.floating.bit_count = 80; | | |
| 6224 | | 6202 | |
| 6225 | uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); | | |
| 6226 | entry->di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | | |
| 6227 | debug_size_in_bits, | | |
| 6228 | ZigLLVMEncoding_DW_ATE_float()); | | |
| 6229 | g->builtin_types.entry_c_longdouble = entry; | | |
| 6230 | g->primitive_type_table.put(&entry->name, entry); | | |
| 6231 | } | | |
| 6232 | { | 6203 | { |
| 6233 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdVoid); | 6204 | TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdVoid); |
| 6234 | entry->type_ref = LLVMVoidType(); | 6205 | entry->type_ref = LLVMVoidType(); |