diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-10-29 23:06:59 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-29 23:06:59 -0400 |
| commit | 5f5a20ebaf646fe629da370ec56ad86dd2761290 (patch) | |
| tree | 07153eefc0a6441ae3306202590ff93d21d475a6 /src/Compilation.zig | |
| parent | 09a96cdfce0540e4c02dd3b0917de6b59edbc95c (diff) | |
| parent | 4364f5147697f3c6a9147efd74eec82586cf568c (diff) | |
| download | zig-5f5a20ebaf646fe629da370ec56ad86dd2761290.tar.gz zig-5f5a20ebaf646fe629da370ec56ad86dd2761290.zip | |
Merge pull request #13093 from jacobly0/backend-fixes
C backend fixes
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 7f1db63746..2e8ba98a89 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -3103,13 +3103,16 @@ fn processOneJob(comp: *Compilation, job: Job) !void { .decl_index = decl_index, .decl = decl, .fwd_decl = fwd_decl.toManaged(gpa), - .typedefs = c_codegen.TypedefMap.initContext(gpa, .{ - .mod = module, - }), + .typedefs = c_codegen.TypedefMap.initContext(gpa, .{ .mod = module }), .typedefs_arena = typedefs_arena.allocator(), }; - defer dg.fwd_decl.deinit(); - defer dg.typedefs.deinit(); + defer { + for (dg.typedefs.values()) |typedef| { + module.gpa.free(typedef.rendered); + } + dg.typedefs.deinit(); + dg.fwd_decl.deinit(); + } c_codegen.genHeader(&dg) catch |err| switch (err) { error.AnalysisFail => { |
