diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-03-28 16:20:38 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-28 16:27:45 -0700 |
| commit | f4a357d7209db61acdfcb24ecec316da66eb318d (patch) | |
| tree | 4cca3c0a134ceda850bcc23309cda5352774185a /src/Sema.zig | |
| parent | c546608fcae4e36a593c4ff6c566b864d379e741 (diff) | |
| download | zig-f4a357d7209db61acdfcb24ecec316da66eb318d.tar.gz zig-f4a357d7209db61acdfcb24ecec316da66eb318d.zip | |
stage2: finish debug info for unions in the LLVM backend
Sema:
* queue full resolution of std.builtin.Type.Error when doing `@typeInfo`
for error sets.
LLVM backend:
* change a TODO comment to a proper explanation of why debug info
for structs is left as a fwd decl sometimes.
* remove handling of packed unions which does not match the type
information or constant generation code.
* remove copy+pasted code
* fix union debug info not matching the memory layout
* remove unnecessary error checks and type casting
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index e79e358907..8842c74ca7 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -11091,6 +11091,8 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai break :t try set_field_ty_decl.val.toType(&buffer).copy(fields_anon_decl.arena()); }; + try sema.queueFullTypeResolution(try error_field_ty.copy(sema.arena)); + // If the error set is inferred it has to be resolved at this point try sema.resolveInferredErrorSetTy(block, src, ty); |
