aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-01-26 15:43:24 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-01-26 20:02:01 -0700
commit50accb757fb8514c3eac824fad5d09d569a6fdc9 (patch)
treea14d6513f717343bf32fc2c96a81bde20b76c7cd /src
parentb463924da2b1ed4ae83a51c18b4998531c44d809 (diff)
downloadzig-50accb757fb8514c3eac824fad5d09d569a6fdc9.tar.gz
zig-50accb757fb8514c3eac824fad5d09d569a6fdc9.zip
stage2: fix crash on file-level struct field source locations
Diffstat (limited to 'src')
-rw-r--r--src/AstGen.zig11
-rw-r--r--src/Module.zig2
2 files changed, 3 insertions, 10 deletions
diff --git a/src/AstGen.zig b/src/AstGen.zig
index 6adec3fc53..8328264306 100644
--- a/src/AstGen.zig
+++ b/src/AstGen.zig
@@ -131,20 +131,11 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
};
defer gz_instructions.deinit(gpa);
- const container_decl: Ast.full.ContainerDecl = .{
- .layout_token = null,
- .ast = .{
- .main_token = undefined,
- .enum_token = null,
- .members = tree.rootDecls(),
- .arg = 0,
- },
- };
if (AstGen.structDeclInner(
&gen_scope,
&gen_scope.base,
0,
- container_decl,
+ tree.containerDeclRoot(),
.Auto,
)) |struct_decl_ref| {
assert(refToIndex(struct_decl_ref).? == 0);
diff --git a/src/Module.zig b/src/Module.zig
index 3cae41a6a5..35b7efb016 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -935,6 +935,8 @@ pub const Struct = struct {
.tagged_union_enum_tag_trailing,
=> return queryFieldSrc(tree.*, query, file, tree.taggedUnionEnumTag(node)),
+ .root => return queryFieldSrc(tree.*, query, file, tree.containerDeclRoot()),
+
else => unreachable,
}
}