aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-07-10 03:06:05 -0400
committerGitHub <noreply@github.com>2022-07-10 03:06:05 -0400
commitb88151e0e1553607cbebc197e1111ec4bf53a595 (patch)
treecd4f57feae521500fe4eb99a98a798241256d341 /test/behavior
parent3f11d1d56d9747de974b00eab1c880bea7972c01 (diff)
parentf9bf4889264aee387639bb8a35fdf594236b1283 (diff)
downloadzig-b88151e0e1553607cbebc197e1111ec4bf53a595.tar.gz
zig-b88151e0e1553607cbebc197e1111ec4bf53a595.zip
Merge pull request #12001 from ziglang/llvm14
Upgrade to LLVM 14
Diffstat (limited to 'test/behavior')
-rw-r--r--test/behavior/basic.zig4
-rw-r--r--test/behavior/bugs/9584.zig3
-rw-r--r--test/behavior/math.zig39
-rw-r--r--test/behavior/vector.zig22
4 files changed, 62 insertions, 6 deletions
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig
index 8241579229..5e9187ad3a 100644
--- a/test/behavior/basic.zig
+++ b/test/behavior/basic.zig
@@ -796,6 +796,10 @@ test "auto created variables have correct alignment" {
}
test "extern variable with non-pointer opaque type" {
+ if (builtin.zig_backend == .stage1) {
+ // Regressed with LLVM 14
+ return error.SkipZigTest;
+ }
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
diff --git a/test/behavior/bugs/9584.zig b/test/behavior/bugs/9584.zig
index 709d510072..503a402fed 100644
--- a/test/behavior/bugs/9584.zig
+++ b/test/behavior/bugs/9584.zig
@@ -35,7 +35,8 @@ pub fn a(
_ = flag_a;
// With this bug present, `flag_b` would actually contain the value 17.
// Note: this bug only presents itself on debug mode.
- try std.testing.expect(@ptrCast(*const u8, &flag_b).* == 1);
+ const flag_b_byte: u8 = @boolToInt(flag_b);
+ try std.testing.expect(flag_b_byte == 1);
}
pub fn b(x: *X) !void {
diff --git a/test/behavior/math.zig b/test/behavior/math.zig
index 2b10996bfb..a0796d386b 100644
--- a/test/behavior/math.zig
+++ b/test/behavior/math.zig
@@ -161,10 +161,11 @@ test "@ctz vectors" {
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
- // TODO this is tripping an LLVM assert:
- // zig: /home/andy/Downloads/llvm-project-13/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp:198: llvm::LegalizeActionStep llvm::LegalizeRuleSet::apply(const llvm::LegalityQuery&) const: Assertion `mutationIsSane(Rule, Query, Mutation) && "legality mutation invalid for match"' failed.
- // I need to report a zig issue and an llvm issue
+ if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and
+ builtin.cpu.arch == .aarch64)
+ {
+ // This regressed with LLVM 14:
+ // https://github.com/ziglang/zig/issues/12013
return error.SkipZigTest;
}
@@ -1167,6 +1168,11 @@ test "remainder division" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
comptime try remdiv(f16);
comptime try remdiv(f32);
comptime try remdiv(f64);
@@ -1198,6 +1204,11 @@ test "float remainder division using @rem" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
comptime try frem(f16);
comptime try frem(f32);
comptime try frem(f64);
@@ -1240,6 +1251,11 @@ test "float modulo division using @mod" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
comptime try fmod(f16);
comptime try fmod(f32);
comptime try fmod(f64);
@@ -1415,6 +1431,11 @@ test "@ceil f80" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
try testCeil(f80, 12.0);
comptime try testCeil(f80, 12.0);
}
@@ -1426,6 +1447,11 @@ test "@ceil f128" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
try testCeil(f128, 12.0);
comptime try testCeil(f128, 12.0);
}
@@ -1574,6 +1600,11 @@ test "NaN comparison" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .riscv64) {
+ // https://github.com/ziglang/zig/issues/12054
+ return error.SkipZigTest;
+ }
+
try testNanEqNan(f16);
try testNanEqNan(f32);
try testNanEqNan(f64);
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig
index e355db5166..eb4676310d 100644
--- a/test/behavior/vector.zig
+++ b/test/behavior/vector.zig
@@ -5,6 +5,12 @@ const math = std.math;
const expect = std.testing.expect;
test "implicit cast vector to array - bool" {
+ if (builtin.zig_backend == .stage1) {
+ // Regressed in LLVM 14:
+ // https://github.com/llvm/llvm-project/issues/55522
+ return error.SkipZigTest;
+ }
+
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
@@ -174,6 +180,14 @@ test "tuple to vector" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and
+ builtin.cpu.arch == .aarch64)
+ {
+ // Regressed with LLVM 14:
+ // https://github.com/ziglang/zig/issues/12012
+ return error.SkipZigTest;
+ }
+
const S = struct {
fn doTheTest() !void {
const Vec3 = @Vector(3, i32);
@@ -391,6 +405,12 @@ test "initialize vector which is a struct field" {
}
test "vector comparison operators" {
+ if (builtin.zig_backend == .stage1) {
+ // Regressed in LLVM 14:
+ // https://github.com/llvm/llvm-project/issues/55522
+ return error.SkipZigTest;
+ }
+
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
@@ -1051,7 +1071,7 @@ test "@shlWithOverflow" {
test "alignment of vectors" {
try expect(@alignOf(@Vector(2, u8)) == 2);
- try expect(@alignOf(@Vector(2, u1)) == 2);
+ try expect(@alignOf(@Vector(2, u1)) == 1);
try expect(@alignOf(@Vector(1, u1)) == 1);
try expect(@alignOf(@Vector(2, u16)) == 4);
}