diff options
| author | Daniele Cocca <daniele.cocca@gmail.com> | 2022-04-28 22:59:16 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-04-28 23:41:42 -0400 |
| commit | fda143d5d81da852af73386a2100e18784bd0d3c (patch) | |
| tree | 08172cdac8852038b9c5dd4aaf180b627a125c24 /src/codegen/c.zig | |
| parent | 2409041e627012baa770acfd21c407ef9ba46777 (diff) | |
| download | zig-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/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 6 |
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("}"); |
