aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-07-04 10:21:30 +0100
committermlugg <mlugg@mlugg.co.uk>2024-07-04 21:01:42 +0100
commita5d5c097f55d7a1b53055310e2d150b23e56eebb (patch)
tree022c5ee25f244141ba7d73e5d36f6bef3293e845 /src
parenteae9aa800e76efb835f81ee5b788890425ee95dd (diff)
downloadzig-a5d5c097f55d7a1b53055310e2d150b23e56eebb.tar.gz
zig-a5d5c097f55d7a1b53055310e2d150b23e56eebb.zip
Sema: add missing references
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 9dfbc724eb..0d4cf26871 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -877,6 +877,7 @@ pub fn deinit(sema: *Sema) void {
sema.maybe_comptime_allocs.deinit(gpa);
sema.comptime_allocs.deinit(gpa);
sema.exports.deinit(gpa);
+ sema.references.deinit(gpa);
sema.* = undefined;
}
@@ -2824,6 +2825,7 @@ fn zirStructDecl(
try mod.finalizeAnonDecl(new_decl_index);
try mod.comp.work_queue.writeItem(.{ .resolve_type_fully = wip_ty.index });
+ try sema.addReferenceEntry(src, AnalUnit.wrap(.{ .decl = new_decl_index }));
return Air.internedToRef(wip_ty.finish(ip, new_decl_index, new_namespace_index));
}
@@ -3325,6 +3327,7 @@ fn zirUnionDecl(
try mod.finalizeAnonDecl(new_decl_index);
try mod.comp.work_queue.writeItem(.{ .resolve_type_fully = wip_ty.index });
+ try sema.addReferenceEntry(src, AnalUnit.wrap(.{ .decl = new_decl_index }));
return Air.internedToRef(wip_ty.finish(ip, new_decl_index, new_namespace_index));
}
@@ -21966,6 +21969,7 @@ fn reifyUnion(
try mod.finalizeAnonDecl(new_decl_index);
try mod.comp.work_queue.writeItem(.{ .resolve_type_fully = wip_ty.index });
+ try sema.addReferenceEntry(src, AnalUnit.wrap(.{ .decl = new_decl_index }));
return Air.internedToRef(wip_ty.finish(ip, new_decl_index, .none));
}
@@ -22231,6 +22235,7 @@ fn reifyStruct(
try mod.finalizeAnonDecl(new_decl_index);
try mod.comp.work_queue.writeItem(.{ .resolve_type_fully = wip_ty.index });
+ try sema.addReferenceEntry(src, AnalUnit.wrap(.{ .decl = new_decl_index }));
return Air.internedToRef(wip_ty.finish(ip, new_decl_index, .none));
}