aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorLuuk de Gram <luuk@degram.dev>2021-07-19 21:50:15 +0200
committerAndrew Kelley <andrew@ziglang.org>2021-07-20 12:19:17 -0700
commitcaa0de545e2f45a96ac3136178f478dab1c89ebd (patch)
tree4e4c2bbbcf4b17e629110fe4c5eb80d0f32aa242 /src/Sema.zig
parent1150fc13dc779c91d54538304466cc068ccbf8ed (diff)
downloadzig-caa0de545e2f45a96ac3136178f478dab1c89ebd.tar.gz
zig-caa0de545e2f45a96ac3136178f478dab1c89ebd.zip
Resolve regressions
- Get correct types in wasm backend. - `arg` is already a `Ref`, therefore simply use `@intToEnum`. - Fix regression in `zirBoolBr, where the order of insertion was incorrect.
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index d796ae2a5a..b3feeb8b1c 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -5295,11 +5295,6 @@ fn zirBoolBr(
then_block.instructions.items.len + else_block.instructions.items.len +
@typeInfo(Air.Block).Struct.fields.len + child_block.instructions.items.len);
- sema.air_instructions.items(.data)[block_inst].ty_pl.payload = sema.addExtraAssumeCapacity(
- Air.Block{ .body_len = @intCast(u32, child_block.instructions.items.len) },
- );
- sema.air_extra.appendSliceAssumeCapacity(child_block.instructions.items);
-
const cond_br_payload = sema.addExtraAssumeCapacity(Air.CondBr{
.then_body_len = @intCast(u32, then_block.instructions.items.len),
.else_body_len = @intCast(u32, else_block.instructions.items.len),
@@ -5312,6 +5307,11 @@ fn zirBoolBr(
.payload = cond_br_payload,
} } });
+ sema.air_instructions.items(.data)[block_inst].ty_pl.payload = sema.addExtraAssumeCapacity(
+ Air.Block{ .body_len = @intCast(u32, child_block.instructions.items.len) },
+ );
+ sema.air_extra.appendSliceAssumeCapacity(child_block.instructions.items);
+
try parent_block.instructions.append(gpa, block_inst);
return Air.indexToRef(block_inst);
}