Commit 02df9aa976

IntegratedQuantum <jahe788@gmail.com>
2023-06-13 10:16:51
Add a compiler error for @mulAdd with int vectors.
1 parent df63194
Changed files (2)
src
test
cases
compile_errors
src/Sema.zig
@@ -22670,8 +22670,8 @@ fn zirMulAdd(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.
     const maybe_addend = try sema.resolveMaybeUndefVal(addend);
     const mod = sema.mod;
 
-    switch (ty.zigTypeTag(mod)) {
-        .ComptimeFloat, .Float, .Vector => {},
+    switch (ty.scalarType(mod).zigTypeTag(mod)) {
+        .ComptimeFloat, .Float => {},
         else => return sema.fail(block, src, "expected vector of floats or float type, found '{}'", .{ty.fmt(sema.mod)}),
     }
 
test/cases/compile_errors/muladd_int_vector.zig
@@ -0,0 +1,9 @@
+comptime {
+    _ = @mulAdd(@Vector(1, u32), .{0}, .{0}, .{0});
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :2:9: error: expected vector of floats or float type, found '@Vector(1, u32)'