Commit 55bc8a7fa9

Andrew Kelley <andrew@ziglang.org>
2023-09-22 00:27:25
compiler: fix compilation for 32-bit targets
1 parent 2e5d13e
Changed files (3)
src/arch/x86_64/CodeGen.zig
@@ -11426,7 +11426,8 @@ fn airAggregateInit(self: *Self, inst: Air.Inst.Index) !void {
                         .{ .immediate = 0 },
                         .{ .immediate = result_ty.abiSize(mod) },
                     );
-                    for (elements, 0..) |elem, elem_i| {
+                    for (elements, 0..) |elem, elem_i_usize| {
+                        const elem_i: u32 = @intCast(elem_i_usize);
                         if ((try result_ty.structFieldValueComptime(mod, elem_i)) != null) continue;
 
                         const elem_ty = result_ty.structFieldType(elem_i, mod);
src/codegen.zig
@@ -705,7 +705,7 @@ fn lowerParentPtr(
                         .Packed => if (mod.typeToStruct(base_type.toType())) |struct_type|
                             math.divExact(u16, mod.structPackedFieldBitOffset(
                                 struct_type,
-                                field.index,
+                                @intCast(field.index),
                             ), 8) catch |err| switch (err) {
                                 error.UnexpectedRemainder => 0,
                                 error.DivisionByZero => unreachable,
src/Module.zig
@@ -6657,7 +6657,7 @@ pub fn structFieldAlignmentExtern(mod: *Module, field_ty: Type) Alignment {
 pub fn structPackedFieldBitOffset(
     mod: *Module,
     struct_type: InternPool.Key.StructType,
-    field_index: usize,
+    field_index: u32,
 ) u16 {
     const ip = &mod.intern_pool;
     assert(struct_type.layout == .Packed);