aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-06-12 14:34:43 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-06-12 14:46:05 -0700
commit13f02c30e62564b85c2fbaa98e632d44f854cf53 (patch)
treec04e6204e5d6dbc03d5c5b9846b63eb3bea765b1 /src/Sema.zig
parentffa700ee58cd29dafe2bbdfe78a4bd4f7bab0674 (diff)
downloadzig-13f02c30e62564b85c2fbaa98e632d44f854cf53.tar.gz
zig-13f02c30e62564b85c2fbaa98e632d44f854cf53.zip
stage2: fix some inline asm incompatibilities with stage1
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index a5e991c617..a769194776 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -11406,6 +11406,7 @@ fn zirAsm(
// Indicate the output is the asm instruction return value.
arg.* = .none;
const out_ty = try sema.resolveType(block, ret_ty_src, output.data.operand);
+ try sema.queueFullTypeResolution(out_ty);
expr_ty = try sema.addType(out_ty);
} else {
arg.* = try sema.resolveInst(output.data.operand);
@@ -11430,7 +11431,10 @@ fn zirAsm(
switch (uncasted_arg_ty.zigTypeTag()) {
.ComptimeInt => arg.* = try sema.coerce(block, Type.initTag(.usize), uncasted_arg, src),
.ComptimeFloat => arg.* = try sema.coerce(block, Type.initTag(.f64), uncasted_arg, src),
- else => arg.* = uncasted_arg,
+ else => {
+ arg.* = uncasted_arg;
+ try sema.queueFullTypeResolution(uncasted_arg_ty);
+ },
}
const constraint = sema.code.nullTerminatedString(input.data.constraint);