zig reduce: don't try to remove discard statements

those are handled separately
This commit is contained in:
Andrew Kelley
2023-11-04 19:27:46 -07:00
parent 9e81222d92
commit e93d3a3cdb
2 changed files with 7 additions and 3 deletions

View File

@@ -229,8 +229,8 @@ pub fn main(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
//std.debug.print("trying this code:\n{s}\n", .{rendered.items});
const interestingness = try runCheck(arena, interestingness_argv.items);
std.debug.print("{d} random transformations: {s}. {d} remaining\n", .{
subset_size, @tagName(interestingness), transformations.items.len - start_index,
std.debug.print("{d} random transformations: {s}. {d}/{d}\n", .{
subset_size, @tagName(interestingness), start_index, transformations.items.len,
});
switch (interestingness) {
.interesting => {

View File

@@ -649,7 +649,11 @@ fn walkBlock(
=> try walkLocalVarDecl(w, ast.fullVarDecl(stmt).?),
else => {
try w.transformations.append(.{ .delete_node = stmt });
// Don't try to remove `_ = foo;` discards; those are handled separately.
switch (categorizeStmt(ast, stmt)) {
.discard_identifier => {},
else => try w.transformations.append(.{ .delete_node = stmt }),
}
try walkExpression(w, stmt);
},
}