| ... | ... | @@ -3547,25 +3547,25 @@ static void do_code_gen(CodeGen *g) { |
| 3547 | 3547 | |
| 3548 | 3548 | if (var->block_context->node->type == NodeTypeFnDef) { |
| 3549 | 3549 | assert(var->gen_arg_index >= 0); |
| 3550 | TypeTableEntry *gen_type; |
| 3550 | 3551 | if (handle_is_ptr(var->type)) { |
| 3551 | | TypeTableEntry *gen_type = fn_table_entry->type_entry->data.fn.gen_param_info[var->src_arg_index].type; |
| 3552 | gen_type = fn_table_entry->type_entry->data.fn.gen_param_info[var->src_arg_index].type; |
| 3552 | 3553 | var->value_ref = LLVMGetParam(fn, var->gen_arg_index); |
| 3553 | | var->di_loc_var = LLVMZigCreateParameterVariable(g->dbuilder, var->block_context->di_scope, |
| 3554 | | buf_ptr(&var->name), import->di_file, var->decl_node->line + 1, |
| 3555 | | gen_type->di_type, !g->strip_debug_symbols, 0, var->gen_arg_index + 1); |
| 3556 | 3554 | } else { |
| 3555 | gen_type = var->type; |
| 3557 | 3556 | var->value_ref = LLVMBuildAlloca(g->builder, var->type->type_ref, buf_ptr(&var->name)); |
| 3558 | | uint64_t align_bytes = LLVMABISizeOfType(g->target_data_ref, var->type->type_ref); |
| 3557 | unsigned align_bytes = ZigLLVMGetPrefTypeAlignment(g->target_data_ref, var->type->type_ref); |
| 3559 | 3558 | LLVMSetAlignment(var->value_ref, align_bytes); |
| 3560 | | var->di_loc_var = LLVMZigCreateAutoVariable(g->dbuilder, var->block_context->di_scope, |
| 3561 | | buf_ptr(&var->name), import->di_file, var->decl_node->line + 1, |
| 3562 | | var->type->di_type, !g->strip_debug_symbols, 0); |
| 3563 | 3559 | } |
| 3560 | var->di_loc_var = LLVMZigCreateParameterVariable(g->dbuilder, var->block_context->di_scope, |
| 3561 | buf_ptr(&var->name), import->di_file, var->decl_node->line + 1, |
| 3562 | gen_type->di_type, !g->strip_debug_symbols, 0, var->gen_arg_index + 1); |
| 3564 | 3563 | |
| 3565 | 3564 | } else { |
| 3566 | 3565 | var->value_ref = LLVMBuildAlloca(g->builder, var->type->type_ref, buf_ptr(&var->name)); |
| 3567 | 3566 | |
| 3568 | | uint64_t align_bytes = LLVMABISizeOfType(g->target_data_ref, var->type->type_ref); |
| 3567 | |
| 3568 | unsigned align_bytes = ZigLLVMGetPrefTypeAlignment(g->target_data_ref, var->type->type_ref); |
| 3569 | 3569 | LLVMSetAlignment(var->value_ref, align_bytes); |
| 3570 | 3570 | |
| 3571 | 3571 | var->di_loc_var = LLVMZigCreateAutoVariable(g->dbuilder, var->block_context->di_scope, |