mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
fix #15778: Binary operations on empty vectors crash
This commit is contained in:
parent
ab37ab33ce
commit
235b776d61
@ -2208,6 +2208,7 @@ pub const Value = extern union {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
.empty_array => return true,
|
||||||
.str_lit => {
|
.str_lit => {
|
||||||
const str_lit = lhs.castTag(.str_lit).?.data;
|
const str_lit = lhs.castTag(.str_lit).?.data;
|
||||||
const bytes = mod.string_literal_bytes.items[str_lit.index..][0..str_lit.len];
|
const bytes = mod.string_literal_bytes.items[str_lit.index..][0..str_lit.len];
|
||||||
|
|||||||
@ -142,6 +142,7 @@ test {
|
|||||||
_ = @import("behavior/bugs/13714.zig");
|
_ = @import("behavior/bugs/13714.zig");
|
||||||
_ = @import("behavior/bugs/13785.zig");
|
_ = @import("behavior/bugs/13785.zig");
|
||||||
_ = @import("behavior/bugs/14854.zig");
|
_ = @import("behavior/bugs/14854.zig");
|
||||||
|
_ = @import("behavior/bugs/15778.zig");
|
||||||
_ = @import("behavior/byteswap.zig");
|
_ = @import("behavior/byteswap.zig");
|
||||||
_ = @import("behavior/byval_arg_var.zig");
|
_ = @import("behavior/byval_arg_var.zig");
|
||||||
_ = @import("behavior/call.zig");
|
_ = @import("behavior/call.zig");
|
||||||
|
|||||||
25
test/behavior/bugs/15778.zig
Normal file
25
test/behavior/bugs/15778.zig
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
const builtin = @import("builtin");
|
||||||
|
|
||||||
|
test {
|
||||||
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
||||||
|
const a = @Vector(0, i32){};
|
||||||
|
const b = @Vector(0, i32){};
|
||||||
|
_ = a + b;
|
||||||
|
}
|
||||||
|
|
||||||
|
test {
|
||||||
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
|
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
||||||
|
const a = @Vector(0, f32){};
|
||||||
|
const b = @Vector(0, f32){};
|
||||||
|
_ = a - b;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user