authorgravatar for jahe788@gmail.comIntegratedQuantum <jahe788@gmail.com> 2023-06-13 10:16:51+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-06-13 10:45:57-07:00
log02df9aa9762bac2217b44121a5bae3afccb5ba71
treecefd810a666527d813f3248145b6573fe382ad4e
parentdf6319418a08b611bae23307ace6688f95bedea2

Add a compiler error for @mulAdd with int vectors.


2 files changed, 11 insertions(+), 2 deletions(-)

src/Sema.zig+2-2
...@@ -22670,8 +22670,8 @@ fn zirMulAdd(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air....@@ -22670,8 +22670,8 @@ fn zirMulAdd(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.
22670 const maybe_addend = try sema.resolveMaybeUndefVal(addend);22670 const maybe_addend = try sema.resolveMaybeUndefVal(addend);
22671 const mod = sema.mod;22671 const mod = sema.mod;
2267222672
22673 switch (ty.zigTypeTag(mod)) {22673 switch (ty.scalarType(mod).zigTypeTag(mod)) {
22674 .ComptimeFloat, .Float, .Vector => {},22674 .ComptimeFloat, .Float => {},
22675 else => return sema.fail(block, src, "expected vector of floats or float type, found '{}'", .{ty.fmt(sema.mod)}),22675 else => return sema.fail(block, src, "expected vector of floats or float type, found '{}'", .{ty.fmt(sema.mod)}),
22676 }22676 }
2267722677
test/cases/compile_errors/muladd_int_vector.zig created+9
...@@ -0,0 +1,9 @@
1comptime {
2 _ = @mulAdd(@Vector(1, u32), .{0}, .{0}, .{0});
3}
4
5// error
6// backend=stage2
7// target=native
8//
9// :2:9: error: expected vector of floats or float type, found '@Vector(1, u32)'