aboutsummaryrefslogtreecommitdiff
path: root/src/value.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-26 00:33:14 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-26 00:33:14 -0700
commitaf844931b2600e50e586436dee0d607d67ed9ff2 (patch)
treec76003ccb51808c017ad6401d617729847f4ffa7 /src/value.zig
parent6ef761307ce286f4c6955ce2e7627e9a0d6ec442 (diff)
downloadzig-af844931b2600e50e586436dee0d607d67ed9ff2.tar.gz
zig-af844931b2600e50e586436dee0d607d67ed9ff2.zip
stage2: resolve types more lazily
This avoids unwanted "foo depends on itself" compilation errors.
Diffstat (limited to 'src/value.zig')
-rw-r--r--src/value.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/value.zig b/src/value.zig
index 80d76f6bce..0467f0362c 100644
--- a/src/value.zig
+++ b/src/value.zig
@@ -1076,9 +1076,10 @@ pub const Value = extern union {
.lazy_align => {
const ty = val.castTag(.lazy_align).?.data;
if (sema_kit) |sk| {
- try sk.sema.resolveTypeLayout(sk.block, sk.src, ty);
+ return (try ty.abiAlignmentAdvanced(target, .{ .sema_kit = sk })).scalar;
+ } else {
+ return ty.abiAlignment(target);
}
- return ty.abiAlignment(target);
},
else => return null,