From aa504275f0966780a6e00a319464a8424ec54a54 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 9 Feb 2016 20:38:42 -0700 Subject: don't create debug type for void arrays --- src/analyze.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/analyze.cpp') diff --git a/src/analyze.cpp b/src/analyze.cpp index 02b1c3010e..4093b04ea8 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -397,11 +397,13 @@ TypeTableEntry *get_array_type(CodeGen *g, TypeTableEntry *child_type, uint64_t buf_resize(&entry->name, 0); buf_appendf(&entry->name, "[%" PRIu64 "]%s", array_size, buf_ptr(&child_type->name)); - uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); - uint64_t debug_align_in_bits = 8*LLVMABISizeOfType(g->target_data_ref, entry->type_ref); + if (!entry->zero_bits) { + uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref); + uint64_t debug_align_in_bits = 8*LLVMABISizeOfType(g->target_data_ref, entry->type_ref); - entry->di_type = LLVMZigCreateDebugArrayType(g->dbuilder, debug_size_in_bits, - debug_align_in_bits, child_type->di_type, array_size); + entry->di_type = LLVMZigCreateDebugArrayType(g->dbuilder, debug_size_in_bits, + debug_align_in_bits, child_type->di_type, array_size); + } entry->data.array.child_type = child_type; entry->data.array.len = array_size; -- cgit v1.2.3