aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-09-19 23:39:45 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-09-21 14:48:40 -0700
commitbaea62a8ad019bd7ad52324b932dd7d69683b80a (patch)
treef2e296977e6177e1df3edad8b723766a99735335 /src/codegen/c.zig
parent483b3a334487a60320296b876c12ccfc05d4a9fb (diff)
downloadzig-baea62a8ad019bd7ad52324b932dd7d69683b80a.tar.gz
zig-baea62a8ad019bd7ad52324b932dd7d69683b80a.zip
fix regressions from this branch
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 45a1d5340b..7f3f1b795e 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -1310,21 +1310,21 @@ pub const DeclGen = struct {
try writer.writeByte('{');
var empty = true;
- const field_types = struct_type.field_types.get(ip);
- for (struct_type.runtime_order.get(ip)) |runtime_order| {
- const field_i = runtime_order.toInt() orelse break;
- const field_ty = field_types[field_i];
+ for (0..struct_type.field_types.len) |field_i| {
+ const field_ty = struct_type.field_types.get(ip)[field_i].toType();
+ if (struct_type.fieldIsComptime(ip, field_i)) continue;
+ if (!field_ty.hasRuntimeBitsIgnoreComptime(mod)) continue;
if (!empty) try writer.writeByte(',');
const field_val = switch (ip.indexToKey(val.ip_index).aggregate.storage) {
.bytes => |bytes| try ip.get(mod.gpa, .{ .int = .{
- .ty = field_ty,
+ .ty = field_ty.toIntern(),
.storage = .{ .u64 = bytes[field_i] },
} }),
.elems => |elems| elems[field_i],
.repeated_elem => |elem| elem,
};
- try dg.renderValue(writer, field_ty.toType(), field_val.toValue(), initializer_type);
+ try dg.renderValue(writer, field_ty, field_val.toValue(), initializer_type);
empty = false;
}