From 5ebed1c9eeff6a190ff3d603bc6c680d4b920bd8 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 4 Dec 2017 17:10:46 -0500 Subject: [PATCH] fix incorrect LLVM IR for union constant when active field is void found in the llvm6 branch with llvm assertions on --- src/codegen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index e10d260e6..f84636502 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3964,7 +3964,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, ConstExprValue *const_val) { if (type_entry->data.unionation.gen_tag_index == SIZE_MAX) return LLVMGetUndef(type_entry->type_ref); - union_value_ref = LLVMGetUndef(type_entry->data.unionation.most_aligned_union_member->type_ref); + union_value_ref = LLVMGetUndef(union_type_ref); make_unnamed_struct = false; } else { uint64_t field_type_bytes = LLVMStoreSizeOfType(g->target_data_ref, payload_value->type->type_ref);