aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-11-04 18:06:11 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-11-04 18:06:11 -0700
commit88acdb9aa6cdb8ea20e02c4d0f85be81f696897c (patch)
treececbbdac819892394ae318bce3ed87583c618802 /src
parent212aa717d73866863c593033a1c8bd3c853150ed (diff)
downloadzig-88acdb9aa6cdb8ea20e02c4d0f85be81f696897c.tar.gz
zig-88acdb9aa6cdb8ea20e02c4d0f85be81f696897c.zip
zig reduce: delete statements from blocks
Diffstat (limited to 'src')
-rw-r--r--src/reduce/Walk.zig7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/reduce/Walk.zig b/src/reduce/Walk.zig
index fc64b0541c..49730e9085 100644
--- a/src/reduce/Walk.zig
+++ b/src/reduce/Walk.zig
@@ -134,8 +134,8 @@ fn walkMember(w: *Walk, decl: Ast.Node.Index) Error!void {
const body_node = datas[decl].rhs;
if (!isFnBodyGutted(ast, body_node)) {
try w.transformations.append(.{ .gut_function = decl });
+ try walkExpression(w, body_node);
}
- try walkExpression(w, body_node);
},
.fn_proto_simple,
.fn_proto_multi,
@@ -648,7 +648,10 @@ fn walkBlock(
.aligned_var_decl,
=> try walkLocalVarDecl(w, ast.fullVarDecl(stmt).?),
- else => try walkExpression(w, stmt),
+ else => {
+ try w.transformations.append(.{ .delete_node = stmt });
+ try walkExpression(w, stmt);
+ },
}
}
}