diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-09-19 23:39:45 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-09-21 14:48:40 -0700 |
| commit | baea62a8ad019bd7ad52324b932dd7d69683b80a (patch) | |
| tree | f2e296977e6177e1df3edad8b723766a99735335 /src/codegen/c.zig | |
| parent | 483b3a334487a60320296b876c12ccfc05d4a9fb (diff) | |
| download | zig-baea62a8ad019bd7ad52324b932dd7d69683b80a.tar.gz zig-baea62a8ad019bd7ad52324b932dd7d69683b80a.zip | |
fix regressions from this branch
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 12 |
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; } |
