diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-03-09 18:47:42 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-09 18:49:37 -0700 |
| commit | f736cde397a6abb1399827ed5988c43001706580 (patch) | |
| tree | c1ce080f82846a4322eac7be653a78044338e740 /test/behavior | |
| parent | 017d3864de1f337d01726e87534a4e2093c7265f (diff) | |
| download | zig-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.zig | 10 | ||||
| -rw-r--r-- | test/behavior/array.zig | 5 | ||||
| -rw-r--r-- | test/behavior/basic.zig | 3 | ||||
| -rw-r--r-- | test/behavior/slice.zig | 10 | ||||
| -rw-r--r-- | test/behavior/struct.zig | 2 | ||||
| -rw-r--r-- | test/behavior/while.zig | 8 |
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 { |
