diff options
| author | LemonBoy <thatlemon@gmail.com> | 2020-01-10 16:11:36 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-01-10 16:42:49 -0500 |
| commit | 84e98405de5f97101475000a95cd2293507e967d (patch) | |
| tree | cdcad9eaa3f8f021079f68f0125268d613f64c7b /src/codegen.cpp | |
| parent | 570ffc470e1b3b186c079cea1c07adefe6d11c8a (diff) | |
| download | zig-84e98405de5f97101475000a95cd2293507e967d.tar.gz zig-84e98405de5f97101475000a95cd2293507e967d.zip | |
Inform the debugger about the effective type sizes
Makes every debugger happy and closes #2685
Diffstat (limited to 'src/codegen.cpp')
| -rw-r--r-- | src/codegen.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp index 4cc6e00953..84f3251c91 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -8017,7 +8017,8 @@ static void define_builtin_types(CodeGen *g) { buf_init_from_str(&entry->name, info->name); entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), - size_in_bits, is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); + 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), + is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); entry->data.integral.is_signed = is_signed; entry->data.integral.bit_count = size_in_bits; g->primitive_type_table.put(&entry->name, entry); @@ -8033,7 +8034,8 @@ static void define_builtin_types(CodeGen *g) { entry->abi_align = LLVMABIAlignmentOfType(g->target_data_ref, entry->llvm_type); buf_init_from_str(&entry->name, "bool"); entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), - entry->size_in_bits, ZigLLVMEncoding_DW_ATE_boolean()); + 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), + ZigLLVMEncoding_DW_ATE_boolean()); g->builtin_types.entry_bool = entry; g->primitive_type_table.put(&entry->name, entry); } @@ -8055,7 +8057,7 @@ static void define_builtin_types(CodeGen *g) { entry->data.integral.bit_count = g->pointer_size_bytes * 8; entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), - entry->size_in_bits, + 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); g->primitive_type_table.put(&entry->name, entry); |
