| ... | @@ -1712,8 +1712,21 @@ static void resolve_struct_type(CodeGen *g, TypeTableEntry *struct_type) { | ... | @@ -1712,8 +1712,21 @@ static void resolve_struct_type(CodeGen *g, TypeTableEntry *struct_type) { |
| 1712 | | 1712 | |
| 1713 | if (struct_type->zero_bits) { | 1713 | if (struct_type->zero_bits) { |
| 1714 | struct_type->type_ref = LLVMVoidType(); | 1714 | struct_type->type_ref = LLVMVoidType(); |
| 1715 | ZigLLVMReplaceTemporary(g->dbuilder, struct_type->di_type, g->builtin_types.entry_void->di_type); | 1715 | |
| 1716 | struct_type->di_type = g->builtin_types.entry_void->di_type; | 1716 | ImportTableEntry *import = get_scope_import(scope); |
| | 1717 | uint64_t debug_size_in_bits = 0; |
| | 1718 | uint64_t debug_align_in_bits = 0; |
| | 1719 | ZigLLVMDIType **di_element_types = nullptr; |
| | 1720 | size_t debug_field_count = 0; |
| | 1721 | ZigLLVMDIType *replacement_di_type = ZigLLVMCreateDebugStructType(g->dbuilder, |
| | 1722 | ZigLLVMFileToScope(import->di_file), |
| | 1723 | buf_ptr(&struct_type->name), |
| | 1724 | import->di_file, (unsigned)(decl_node->line + 1), |
| | 1725 | debug_size_in_bits, |
| | 1726 | debug_align_in_bits, |
| | 1727 | 0, nullptr, di_element_types, (int)debug_field_count, 0, nullptr, ""); |
| | 1728 | ZigLLVMReplaceTemporary(g->dbuilder, struct_type->di_type, replacement_di_type); |
| | 1729 | struct_type->di_type = replacement_di_type; |
| 1717 | return; | 1730 | return; |
| 1718 | } | 1731 | } |
| 1719 | assert(struct_type->di_type); | 1732 | assert(struct_type->di_type); |