diff --git a/src/Module.zig b/src/Module.zig index cb6600696d..17a97e6c6d 100644 --- a/src/Module.zig +++ b/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); diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index 1d03cb1256..8f588256b6 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/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); diff --git a/src/codegen.zig b/src/codegen.zig index b7385887c4..992b51c635 100644 --- a/src/codegen.zig +++ b/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,