aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-12-02 21:08:00 -0500
committerAndrew Kelley <andrew@ziglang.org>2023-12-03 02:05:06 -0800
commitdaf91ed8d1149d10f0e4a597efc9f17c4a49b0ca (patch)
tree947f39a04ad2aed68faa4d5929c923e026c7138c /src/Module.zig
parentbf5ab54510fd8fbd300ddc22f9af4767477be0e5 (diff)
downloadzig-daf91ed8d1149d10f0e4a597efc9f17c4a49b0ca.tar.gz
zig-daf91ed8d1149d10f0e4a597efc9f17c4a49b0ca.zip
Air: use typesafe `Air.Inst.Index`
I need some indices for a thing...
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 79bb03c6e7..e4efa8a8a1 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -4591,8 +4591,8 @@ pub fn analyzeFnBody(mod: *Module, func_index: InternPool.Index, arena: Allocato
gop.value_ptr.* = Air.internedToRef(opv.toIntern());
continue;
}
- const arg_index: u32 = @intCast(sema.air_instructions.len);
- gop.value_ptr.* = Air.indexToRef(arg_index);
+ const arg_index: Air.Inst.Index = @enumFromInt(sema.air_instructions.len);
+ gop.value_ptr.* = arg_index.toRef();
inner_block.instructions.appendAssumeCapacity(arg_index);
sema.air_instructions.appendAssumeCapacity(.{
.tag = .arg,
@@ -4626,7 +4626,7 @@ pub fn analyzeFnBody(mod: *Module, func_index: InternPool.Index, arena: Allocato
while (it.next()) |ptr_inst| {
// The lack of a resolve_inferred_alloc means that this instruction
// is unused so it just has to be a no-op.
- sema.air_instructions.set(ptr_inst.*, .{
+ sema.air_instructions.set(@intFromEnum(ptr_inst.*), .{
.tag = .alloc,
.data = .{ .ty = Type.single_const_pointer_to_comptime_int },
});
@@ -4659,7 +4659,7 @@ pub fn analyzeFnBody(mod: *Module, func_index: InternPool.Index, arena: Allocato
const main_block_index = sema.addExtraAssumeCapacity(Air.Block{
.body_len = @intCast(inner_block.instructions.items.len),
});
- sema.air_extra.appendSliceAssumeCapacity(inner_block.instructions.items);
+ sema.air_extra.appendSliceAssumeCapacity(@ptrCast(inner_block.instructions.items));
sema.air_extra.items[@intFromEnum(Air.ExtraIndex.main_block)] = main_block_index;
// Resolving inferred error sets is done *before* setting the function