commit 65819004f32dda70b6f35f7226de005155f68a4c (tree)
parent c805c7228978df4af34ee0d63948234fb0ab504e
Author: Kendall Condon <goon.pri.low@gmail.com>
Date: Sun, 3 May 2026 20:28:37 -0400
workaround surfaced backend bugs
self-hosted wasm workaround provided by pavelverigo in #31991
powerpc workarounds provided by alexrp in #31991
Diffstat:
3 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/lib/std/fmt/float.zig b/lib/std/fmt/float.zig
@@ -1646,6 +1646,8 @@ test "format f64" {
}
test "format f80" {
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
+
try check(f80, 0.0, "0e0");
try check(f80, -0.0, "-0e0");
try check(f80, 1.0, "1e0");
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig
@@ -748,6 +748,7 @@ test "vector reduce operation" {
if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isPowerPC()) return error.SkipZigTest; // https://github.com/llvm/llvm-project/issues/195562
const S = struct {
fn testReduce(comptime op: std.builtin.ReduceOp, x: anytype, expected: anytype) !void {
diff --git a/test/tests.zig b/test/tests.zig
@@ -2612,6 +2612,10 @@ fn addOneModuleTest(
if (mem.eql(u8, options.name, "compiler-rt") or mem.eql(u8, options.name, "libc")) {
these_tests.root_module.stack_protector = false;
}
+ // https://github.com/llvm/llvm-project/issues/195561
+ if (target.cpu.arch.isPowerPC()) {
+ these_tests.root_module.stack_protector = false;
+ }
if (options.build_options) |build_options| {
these_tests.root_module.addOptions("build_options", build_options);
}
@@ -2857,6 +2861,11 @@ pub fn addCAbiTests(b: *std.Build, options: CAbiTestOptions) *Step {
.max_rss = options.max_rss,
});
+ // https://github.com/llvm/llvm-project/issues/195561
+ if (target.cpu.arch.isPowerPC()) {
+ test_step.root_module.stack_protector = false;
+ }
+
// This test is intentionally trying to check if the external ABI is
// done properly. LTO would be a hindrance to this.
test_step.lto = .none;