diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-12-30 14:28:04 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-12-30 17:00:50 +0200 |
| commit | 4e64373fc07a1e24735bcbdfd463e11839c8c273 (patch) | |
| tree | e59da20f467d336240c12cdc832834f22f361b30 /src/Module.zig | |
| parent | 4b5fc5239c37fa3f49965188256a781c7b1277a3 (diff) | |
| download | zig-4e64373fc07a1e24735bcbdfd463e11839c8c273.tar.gz zig-4e64373fc07a1e24735bcbdfd463e11839c8c273.zip | |
fix generic function arg debug info referencing wrong parameter
Closes #14123
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Module.zig b/src/Module.zig index 3347280f59..cf864f585b 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -5672,11 +5672,15 @@ pub fn analyzeFnBody(mod: *Module, func: *Fn, arena: Allocator) SemaError!Air { runtime_param_index += 1; continue; } + const air_ty = try sema.addType(param_ty); const arg_index = @intCast(u32, sema.air_instructions.len); inner_block.instructions.appendAssumeCapacity(arg_index); sema.air_instructions.appendAssumeCapacity(.{ .tag = .arg, - .data = .{ .ty = param_ty }, + .data = .{ .arg = .{ + .ty = air_ty, + .src_index = @intCast(u32, total_param_index), + } }, }); sema.inst_map.putAssumeCapacityNoClobber(inst, Air.indexToRef(arg_index)); total_param_index += 1; |
