From 0f7954831a881c899002eaf8c203aec35dedeeee Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Sat, 5 Dec 2020 18:58:54 +0100 Subject: stage1: Initialize single-element union tag correctly Use the field value instead of defaulting to zero. --- src/stage1/analyze.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/stage1/analyze.cpp') diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp index 5b0ea53eb4..e8958052bc 100644 --- a/src/stage1/analyze.cpp +++ b/src/stage1/analyze.cpp @@ -6113,7 +6113,7 @@ ZigValue *get_the_one_possible_value(CodeGen *g, ZigType *type_entry) { TypeUnionField *only_field = &union_type->data.unionation.fields[0]; ZigType *field_type = resolve_union_field_type(g, only_field); assert(field_type); - bigint_init_unsigned(&result->data.x_union.tag, 0); + bigint_init_bigint(&result->data.x_union.tag, &only_field->enum_field->value); result->data.x_union.payload = g->pass1_arena->create(); copy_const_val(g, result->data.x_union.payload, get_the_one_possible_value(g, field_type)); -- cgit v1.2.3