aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-14 12:28:52 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-14 12:28:52 -0700
commit5ea94e7715607e986298908536cdd3d9dfdd0ce9 (patch)
treed2cf8e70d091d0bcf0fa200a5b0274881831b67b /src/codegen.zig
parent1ebe3bd01d13b28b3ecd4962f0f70344fe75ba4d (diff)
downloadzig-5ea94e7715607e986298908536cdd3d9dfdd0ce9.tar.gz
zig-5ea94e7715607e986298908536cdd3d9dfdd0ce9.zip
stage2: rework Value storage of structs and arrays
Now they both use `Value.Tag.aggregate`. Additionally the LLVM backend now has implemented lowering of tuple values.
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index e33cacc787..1a30738b07 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -225,9 +225,9 @@ pub fn generateSymbol(
return Result{ .externally_managed = payload.data };
}
},
- .array => {
+ .aggregate => {
// TODO populate .debug_info for the array
- const elem_vals = typed_value.val.castTag(.array).?.data;
+ const elem_vals = typed_value.val.castTag(.aggregate).?.data;
const elem_ty = typed_value.ty.elemType();
for (elem_vals) |elem_val| {
switch (try generateSymbol(bin_file, src_loc, .{
@@ -554,7 +554,7 @@ pub fn generateSymbol(
}
const struct_begin = code.items.len;
- const field_vals = typed_value.val.castTag(.@"struct").?.data;
+ const field_vals = typed_value.val.castTag(.aggregate).?.data;
for (field_vals) |field_val, index| {
const field_ty = typed_value.ty.structFieldType(index);
if (!field_ty.hasRuntimeBits()) continue;