diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-10-03 14:05:55 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-10-05 17:26:29 +0300 |
| commit | 40578656e85a4bd930b03c143f179d43a925d151 (patch) | |
| tree | 521053cc75e0b05a1baee26f640e1fc6e87c8aa7 /src | |
| parent | c0350cf87eaae64ca81e17aef8872e8e55767437 (diff) | |
| download | zig-40578656e85a4bd930b03c143f179d43a925d151.tar.gz zig-40578656e85a4bd930b03c143f179d43a925d151.zip | |
Zir: handle ranges in `getMultiProng`
Closes #12890
Diffstat (limited to 'src')
| -rw-r--r-- | src/Zir.zig | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Zir.zig b/src/Zir.zig index add8bad801..40e1686a9b 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -3051,11 +3051,16 @@ pub const Inst = struct { var multi_i: u32 = 0; while (true) : (multi_i += 1) { const items_len = zir.extra[extra_index]; - extra_index += 2; + extra_index += 1; + const ranges_len = zir.extra[extra_index]; + extra_index += 1; const body_len = @truncate(u31, zir.extra[extra_index]); extra_index += 1; const items = zir.refSlice(extra_index, items_len); extra_index += items_len; + // Each range has a start and an end. + extra_index += 2 * ranges_len; + const body = zir.extra[extra_index..][0..body_len]; extra_index += body_len; |
