mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +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;
|
||||
},
|
||||
.empty_array => return true,
|
||||
.str_lit => {
|
||||
const str_lit = lhs.castTag(.str_lit).?.data;
|
||||
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/13785.zig");
|
||||
_ = @import("behavior/bugs/14854.zig");
|
||||
_ = @import("behavior/bugs/15778.zig");
|
||||
_ = @import("behavior/byteswap.zig");
|
||||
_ = @import("behavior/byval_arg_var.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