aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-05-09 01:52:26 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-05-09 01:52:26 -0700
commitbcb534c295d5cc6fd63caa570cc08e6b148a507c (patch)
tree0b17cb1e632d894f50f25e550d5113f232b0e877 /test/behavior
parentd9b00ee4ba48717ff6b306a6f9419e7b604ac04b (diff)
parent74f52954b9cb40d59d80b839b45bb859146731a7 (diff)
downloadzig-bcb534c295d5cc6fd63caa570cc08e6b148a507c.tar.gz
zig-bcb534c295d5cc6fd63caa570cc08e6b148a507c.zip
Merge branch 'llvm18'
Upgrades the LLVM, Clang, and LLD dependencies to LLVM 18.x Related to #16270
Diffstat (limited to 'test/behavior')
-rw-r--r--test/behavior/align.zig63
-rw-r--r--test/behavior/cast.zig7
-rw-r--r--test/behavior/error.zig10
-rw-r--r--test/behavior/shuffle.zig7
4 files changed, 50 insertions, 37 deletions
diff --git a/test/behavior/align.zig b/test/behavior/align.zig
index 36366fd52c..34d76fb4ba 100644
--- a/test/behavior/align.zig
+++ b/test/behavior/align.zig
@@ -114,77 +114,66 @@ test "alignment and size of structs with 128-bit fields" {
.u129_size = 24,
},
- .x86 => if (builtin.object_format == .c) .{
- .a_align = 16,
- .a_size = 16,
-
- .b_align = 16,
- .b_size = 32,
-
- .u128_align = 16,
- .u128_size = 16,
- .u129_align = 16,
- .u129_size = 32,
- } else switch (builtin.os.tag) {
- .windows => .{
- .a_align = 8,
+ .mips64,
+ .mips64el,
+ .powerpc64,
+ .powerpc64le,
+ .sparc64,
+ => switch (builtin.object_format) {
+ .c => .{
+ .a_align = 16,
.a_size = 16,
.b_align = 16,
.b_size = 32,
- .u128_align = 8,
+ .u128_align = 16,
.u128_size = 16,
- .u129_align = 8,
- .u129_size = 24,
+ .u129_align = 16,
+ .u129_size = 32,
},
else => .{
- .a_align = 4,
+ .a_align = 8,
.a_size = 16,
.b_align = 16,
.b_size = 32,
- .u128_align = 4,
+ .u128_align = 8,
.u128_size = 16,
- .u129_align = 4,
- .u129_size = 20,
+ .u129_align = 8,
+ .u129_size = 24,
},
},
- .mips64,
- .mips64el,
- .powerpc64,
- .powerpc64le,
- .sparc64,
- .x86_64,
- => switch (builtin.object_format) {
- .c => .{
- .a_align = 16,
+ .x86_64 => switch (builtin.zig_backend) {
+ .stage2_x86_64 => .{
+ .a_align = 8,
.a_size = 16,
.b_align = 16,
.b_size = 32,
- .u128_align = 16,
+ .u128_align = 8,
.u128_size = 16,
- .u129_align = 16,
- .u129_size = 32,
+ .u129_align = 8,
+ .u129_size = 24,
},
else => .{
- .a_align = 8,
+ .a_align = 16,
.a_size = 16,
.b_align = 16,
.b_size = 32,
- .u128_align = 8,
+ .u128_align = 16,
.u128_size = 16,
- .u129_align = 8,
- .u129_size = 24,
+ .u129_align = 16,
+ .u129_size = 32,
},
},
+ .x86,
.aarch64,
.aarch64_be,
.aarch64_32,
diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig
index 72e48de104..2f47155cc4 100644
--- a/test/behavior/cast.zig
+++ b/test/behavior/cast.zig
@@ -2481,6 +2481,13 @@ test "@intFromBool on vector" {
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_llvm and
+ builtin.cpu.arch == .aarch64 and builtin.os.tag == .windows)
+ {
+ // https://github.com/ziglang/zig/issues/19825
+ return error.SkipZigTest;
+ }
+
const S = struct {
fn doTheTest() !void {
var a: @Vector(3, bool) = .{ false, true, false };
diff --git a/test/behavior/error.zig b/test/behavior/error.zig
index 408dc96005..7703a02f68 100644
--- a/test/behavior/error.zig
+++ b/test/behavior/error.zig
@@ -1077,3 +1077,13 @@ test "result location initialization of error union with OPV payload" {
_ = &c;
try expectEqual(0, (c catch return error.TestFailed).x);
}
+
+test "return error union with i65" {
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
+
+ try expect(try add(1000, 234) == 1234);
+}
+
+fn add(x: i65, y: i65) anyerror!i65 {
+ return x + y;
+}
diff --git a/test/behavior/shuffle.zig b/test/behavior/shuffle.zig
index c3d760103d..58c925b8fd 100644
--- a/test/behavior/shuffle.zig
+++ b/test/behavior/shuffle.zig
@@ -55,6 +55,13 @@ test "@shuffle bool 1" {
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_llvm and
+ builtin.cpu.arch == .aarch64 and builtin.os.tag == .windows)
+ {
+ // https://github.com/ziglang/zig/issues/19824
+ return error.SkipZigTest;
+ }
+
const S = struct {
fn doTheTest() !void {
var x: @Vector(4, bool) = [4]bool{ false, true, false, true };