aboutsummaryrefslogtreecommitdiff
path: root/src/reduce
diff options
context:
space:
mode:
Diffstat (limited to 'src/reduce')
-rw-r--r--src/reduce/Walk.zig9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/reduce/Walk.zig b/src/reduce/Walk.zig
index d62cc4e905..c740ac4f0b 100644
--- a/src/reduce/Walk.zig
+++ b/src/reduce/Walk.zig
@@ -581,9 +581,12 @@ fn walkGlobalVarDecl(w: *Walk, decl_node: Ast.Node.Index, var_decl: Ast.full.Var
try walkExpression(w, var_decl.ast.section_node);
}
- assert(var_decl.ast.init_node != 0);
-
- return walkExpression(w, var_decl.ast.init_node);
+ if (var_decl.ast.init_node != 0) {
+ if (!isUndefinedIdent(w.ast, var_decl.ast.init_node)) {
+ try w.transformations.append(.{ .replace_with_undef = var_decl.ast.init_node });
+ }
+ try walkExpression(w, var_decl.ast.init_node);
+ }
}
fn walkLocalVarDecl(w: *Walk, var_decl: Ast.full.VarDecl) Error!void {