Commit 5ebed1c9ee

Andrew Kelley <superjoe30@gmail.com>
2017-12-04 23:10:46
fix incorrect LLVM IR for union constant when active field is void
found in the llvm6 branch with llvm assertions on
1 parent a966275
Changed files (1)
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);