zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 02df9aa9762bac2217b44121a5bae3afccb5ba71 (tree)
parent df6319418a08b611bae23307ace6688f95bedea2
Author: IntegratedQuantum <jahe788@gmail.com>
Date:   Tue, 13 Jun 2023 10:16:51 +0200

Add a compiler error for @mulAdd with int vectors.

Diffstat:
Msrc/Sema.zig | 4++--
Atest/cases/compile_errors/muladd_int_vector.zig | 9+++++++++
2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/Sema.zig b/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)}), } diff --git a/test/cases/compile_errors/muladd_int_vector.zig b/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)'