diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2024-03-28 20:41:58 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2024-03-30 20:50:48 -0400 |
| commit | 5a41704f7ec2c472897f955ecfe1feafa697ff68 (patch) | |
| tree | 62984e96e61c367ce7ad304fc532051c10e6921d /src/Compilation.zig | |
| parent | 6f10b11658c002b26341bff10e1dd522f2465b5a (diff) | |
| download | zig-5a41704f7ec2c472897f955ecfe1feafa697ff68.tar.gz zig-5a41704f7ec2c472897f955ecfe1feafa697ff68.zip | |
cbe: rewrite `CType`
Closes #14904
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 442c1075e0..c533f2fae7 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -3457,14 +3457,18 @@ fn processOneJob(comp: *Compilation, job: Job, prog_node: *std.Progress.Node) !v .pass = .{ .decl = decl_index }, .is_naked_fn = false, .fwd_decl = fwd_decl.toManaged(gpa), - .ctypes = .{}, + .ctype_pool = c_codegen.CType.Pool.empty, + .scratch = .{}, .anon_decl_deps = .{}, .aligned_anon_decls = .{}, }; defer { - dg.ctypes.deinit(gpa); - dg.fwd_decl.deinit(); + fwd_decl.* = dg.fwd_decl.moveToUnmanaged(); + fwd_decl.shrinkAndFree(gpa, fwd_decl.items.len); + dg.ctype_pool.deinit(gpa); + dg.scratch.deinit(gpa); } + try dg.ctype_pool.init(gpa); c_codegen.genHeader(&dg) catch |err| switch (err) { error.AnalysisFail => { @@ -3473,9 +3477,6 @@ fn processOneJob(comp: *Compilation, job: Job, prog_node: *std.Progress.Node) !v }, else => |e| return e, }; - - fwd_decl.* = dg.fwd_decl.moveToUnmanaged(); - fwd_decl.shrinkAndFree(gpa, fwd_decl.items.len); }, } }, |
