aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-09 18:47:42 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-09 18:49:37 -0700
commitf736cde397a6abb1399827ed5988c43001706580 (patch)
treec1ce080f82846a4322eac7be653a78044338e740 /test/behavior
parent017d3864de1f337d01726e87534a4e2093c7265f (diff)
downloadzig-f736cde397a6abb1399827ed5988c43001706580.tar.gz
zig-f736cde397a6abb1399827ed5988c43001706580.zip
Sema: implement pointer to tuple to pointer to array coercion
This involved an LLVM backend fix for the aggregate_init instruction.
Diffstat (limited to 'test/behavior')
-rw-r--r--test/behavior/align.zig10
-rw-r--r--test/behavior/array.zig5
-rw-r--r--test/behavior/basic.zig3
-rw-r--r--test/behavior/slice.zig10
-rw-r--r--test/behavior/struct.zig2
-rw-r--r--test/behavior/while.zig8
6 files changed, 19 insertions, 19 deletions
diff --git a/test/behavior/align.zig b/test/behavior/align.zig
index c9a43526f6..50ba13073d 100644
--- a/test/behavior/align.zig
+++ b/test/behavior/align.zig
@@ -193,11 +193,9 @@ test "function alignment" {
}
test "implicitly decreasing fn alignment" {
- if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage1) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
// function alignment is a compile error on wasm32/wasm64
@@ -321,7 +319,6 @@ const DefaultAligned = struct {
test "read 128-bit field from default aligned struct in stack memory" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
@@ -353,10 +350,10 @@ test "read 128-bit field from default aligned struct in global memory" {
test "struct field explicit alignment" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
const S = struct {
const Node = struct {
@@ -402,8 +399,9 @@ test "align(@alignOf(T)) T does not force resolution of T" {
}
test "align(N) on functions" {
- if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage1) return error.SkipZigTest;
+
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
diff --git a/test/behavior/array.zig b/test/behavior/array.zig
index e6204729d4..efd6624445 100644
--- a/test/behavior/array.zig
+++ b/test/behavior/array.zig
@@ -553,12 +553,11 @@ test "type coercion of anon struct literal to array" {
}
test "type coercion of pointer to anon struct literal to pointer to array" {
- if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
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
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
const S = struct {
const U = union {
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig
index 25a302398b..481a15bbe5 100644
--- a/test/behavior/basic.zig
+++ b/test/behavior/basic.zig
@@ -760,7 +760,8 @@ test "pointer to thread local array" {
threadlocal var buffer: [11]u8 = undefined;
test "auto created variables have correct alignment" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
const S = struct {
fn foo(str: [*]const u8) u32 {
diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig
index f5421f9159..09025df69f 100644
--- a/test/behavior/slice.zig
+++ b/test/behavior/slice.zig
@@ -518,7 +518,11 @@ test "slice syntax resulting in pointer-to-array" {
}
test "type coercion of pointer to anon struct literal to pointer to slice" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ 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
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
const S = struct {
const U = union {
@@ -546,7 +550,7 @@ test "type coercion of pointer to anon struct literal to pointer to slice" {
try expect(mem.eql(u8, slice2[2], "world!"));
}
};
- // try S.doTheTest();
+ try S.doTheTest();
comptime try S.doTheTest();
}
@@ -578,8 +582,6 @@ test "slice bounds in comptime concatenation" {
}
test "slice sentinel access at comptime" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
-
{
const str0 = &[_:0]u8{ '1', '2', '3' };
const slice0: [:0]const u8 = str0;
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig
index 02bfd2fa5b..6e48f7ca21 100644
--- a/test/behavior/struct.zig
+++ b/test/behavior/struct.zig
@@ -426,7 +426,7 @@ test "packed struct 24bits" {
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_llvm and builtin.stage2_arch == .wasm32) return error.SkipZigTest; // TODO
+ if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO
comptime {
try expect(@sizeOf(Foo24Bits) == 4);
diff --git a/test/behavior/while.zig b/test/behavior/while.zig
index dced1ee208..a5b777640a 100644
--- a/test/behavior/while.zig
+++ b/test/behavior/while.zig
@@ -289,9 +289,8 @@ test "while bool 2 break statements and an else" {
}
test "while optional 2 break statements and an else" {
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
- if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
const S = struct {
fn entry(opt_t: ?bool, f: bool) !void {
@@ -308,7 +307,8 @@ test "while optional 2 break statements and an else" {
}
test "while error 2 break statements and an else" {
- if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
const S = struct {
fn entry(opt_t: anyerror!bool, f: bool) !void {