aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-10-29 23:06:59 -0400
committerGitHub <noreply@github.com>2022-10-29 23:06:59 -0400
commit5f5a20ebaf646fe629da370ec56ad86dd2761290 (patch)
tree07153eefc0a6441ae3306202590ff93d21d475a6 /src/Compilation.zig
parent09a96cdfce0540e4c02dd3b0917de6b59edbc95c (diff)
parent4364f5147697f3c6a9147efd74eec82586cf568c (diff)
downloadzig-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.zig13
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 => {