aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorDaniele Cocca <daniele.cocca@gmail.com>2022-04-28 22:59:16 +0100
committerAndrew Kelley <andrew@ziglang.org>2022-04-28 23:41:42 -0400
commitfda143d5d81da852af73386a2100e18784bd0d3c (patch)
tree08172cdac8852038b9c5dd4aaf180b627a125c24 /src/codegen
parent2409041e627012baa770acfd21c407ef9ba46777 (diff)
downloadzig-fda143d5d81da852af73386a2100e18784bd0d3c.tar.gz
zig-fda143d5d81da852af73386a2100e18784bd0d3c.zip
CBE: fix renderValue() for struct fields with no runtime bits
These shouldn't count towards the total emitted, or the stray comma separators would cause compilation errors.
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/c.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 46fee271cc..8f73daca46 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -821,12 +821,14 @@ pub const DeclGen = struct {
try dg.renderTypecast(writer, ty);
try writer.writeAll("){");
- for (field_vals) |field_val, i| {
- const field_ty = ty.structFieldType(i);
+ var i: usize = 0;
+ for (field_vals) |field_val, field_index| {
+ const field_ty = ty.structFieldType(field_index);
if (!field_ty.hasRuntimeBits()) continue;
if (i != 0) try writer.writeAll(",");
try dg.renderValue(writer, field_ty, field_val, location);
+ i += 1;
}
try writer.writeAll("}");