mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
spirv: enable passing tests
This commit is contained in:
parent
d9a8c779d8
commit
075584a4d7
@ -801,7 +801,7 @@ pub const DeclGen = struct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn constantPtr(self: *DeclGen, ptr_ty: Type, ptr_val: Value) !IdRef {
|
fn constantPtr(self: *DeclGen, ptr_ty: Type, ptr_val: Value) Error!IdRef {
|
||||||
const result_ty_ref = try self.resolveType(ptr_ty, .direct);
|
const result_ty_ref = try self.resolveType(ptr_ty, .direct);
|
||||||
const mod = self.module;
|
const mod = self.module;
|
||||||
switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {
|
switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {
|
||||||
@ -1692,9 +1692,9 @@ pub const DeclGen = struct {
|
|||||||
|
|
||||||
.bitcast => try self.airBitCast(inst),
|
.bitcast => try self.airBitCast(inst),
|
||||||
.intcast, .trunc => try self.airIntCast(inst),
|
.intcast, .trunc => try self.airIntCast(inst),
|
||||||
.int_from_ptr => try self.airIntFromPtr(inst),
|
.int_from_ptr => try self.airIntFromPtr(inst),
|
||||||
.float_from_int => try self.airFloatFromInt(inst),
|
.float_from_int => try self.airFloatFromInt(inst),
|
||||||
.int_from_float => try self.airIntFromFloat(inst),
|
.int_from_float => try self.airIntFromFloat(inst),
|
||||||
.not => try self.airNot(inst),
|
.not => try self.airNot(inst),
|
||||||
|
|
||||||
.array_to_slice => try self.airArrayToSlice(inst),
|
.array_to_slice => try self.airArrayToSlice(inst),
|
||||||
|
|||||||
@ -28,8 +28,6 @@ test "comparison of @alignOf(T) against zero" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "correct alignment for elements and slices of aligned array" {
|
test "correct alignment for elements and slices of aligned array" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var buf: [1024]u8 align(64) = undefined;
|
var buf: [1024]u8 align(64) = undefined;
|
||||||
var start: usize = 1;
|
var start: usize = 1;
|
||||||
var end: usize = undefined;
|
var end: usize = undefined;
|
||||||
|
|||||||
@ -158,7 +158,6 @@ test "array len field" {
|
|||||||
test "array with sentinels" {
|
test "array with sentinels" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest(is_ct: bool) !void {
|
fn doTheTest(is_ct: bool) !void {
|
||||||
@ -225,7 +224,6 @@ test "nested arrays of integers" {
|
|||||||
test "implicit comptime in array type size" {
|
test "implicit comptime in array type size" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var arr: [plusOne(10)]bool = undefined;
|
var arr: [plusOne(10)]bool = undefined;
|
||||||
try expect(arr.len == 11);
|
try expect(arr.len == 11);
|
||||||
@ -318,7 +316,6 @@ test "read/write through global variable array of struct fields initialized via
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -358,7 +355,6 @@ fn testArrayByValAtComptime(b: [2]u8) u8 {
|
|||||||
test "comptime evaluating function that takes array by value" {
|
test "comptime evaluating function that takes array by value" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const arr = [_]u8{ 1, 2 };
|
const arr = [_]u8{ 1, 2 };
|
||||||
const x = comptime testArrayByValAtComptime(arr);
|
const x = comptime testArrayByValAtComptime(arr);
|
||||||
@ -370,7 +366,6 @@ test "comptime evaluating function that takes array by value" {
|
|||||||
test "runtime initialize array elem and then implicit cast to slice" {
|
test "runtime initialize array elem and then implicit cast to slice" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var two: i32 = 2;
|
var two: i32 = 2;
|
||||||
const x: []const i32 = &[_]i32{two};
|
const x: []const i32 = &[_]i32{two};
|
||||||
|
|||||||
@ -606,7 +606,6 @@ test "self reference through fn ptr field" {
|
|||||||
|
|
||||||
test "global variable initialized to global variable array element" {
|
test "global variable initialized to global variable array element" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(global_ptr == &gdt[0]);
|
try expect(global_ptr == &gdt[0]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,6 @@ test "registers get overwritten when ignoring return" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||||
if (builtin.cpu.arch != .x86_64 or builtin.os.tag != .linux) return error.SkipZigTest;
|
if (builtin.cpu.arch != .x86_64 or builtin.os.tag != .linux) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const fd = open();
|
const fd = open();
|
||||||
_ = write(fd, "a", 1);
|
_ = write(fd, "a", 1);
|
||||||
|
|||||||
@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var cond = true;
|
var cond = true;
|
||||||
const opt = while (cond) {
|
const opt = while (cond) {
|
||||||
|
|||||||
@ -9,7 +9,5 @@ pub fn do() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "bug" {
|
test "bug" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try std.testing.expect(!do());
|
try std.testing.expect(!do());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ const builtin = @import("builtin");
|
|||||||
|
|
||||||
test "bytes" {
|
test "bytes" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
a: u32,
|
a: u32,
|
||||||
@ -24,7 +23,6 @@ test "bytes" {
|
|||||||
|
|
||||||
test "aggregate" {
|
test "aggregate" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
a: u32,
|
a: u32,
|
||||||
|
|||||||
@ -4,7 +4,6 @@ const builtin = @import("builtin");
|
|||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: u32 = 3;
|
var x: u32 = 3;
|
||||||
const val: usize = while (true) switch (x) {
|
const val: usize = while (true) switch (x) {
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
const builtin = @import("builtin");
|
const builtin = @import("builtin");
|
||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime var st = .{
|
comptime var st = .{
|
||||||
.foo = &1,
|
.foo = &1,
|
||||||
.bar = &2,
|
.bar = &2,
|
||||||
|
|||||||
@ -2,8 +2,6 @@ const std = @import("std");
|
|||||||
const builtin = @import("builtin");
|
const builtin = @import("builtin");
|
||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const string = "Hello!\x00World!";
|
const string = "Hello!\x00World!";
|
||||||
try std.testing.expect(@TypeOf(string) == *const [13:0]u8);
|
try std.testing.expect(@TypeOf(string) == *const [13:0]u8);
|
||||||
|
|
||||||
|
|||||||
@ -7,8 +7,6 @@ fn foo(x: anytype) void {
|
|||||||
ok = x;
|
ok = x;
|
||||||
}
|
}
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const x = &foo;
|
const x = &foo;
|
||||||
x(true);
|
x(true);
|
||||||
try expect(ok);
|
try expect(ok);
|
||||||
|
|||||||
@ -9,7 +9,6 @@ test {
|
|||||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const zerox32: u8x32 = [_]u8{0} ** 32;
|
const zerox32: u8x32 = [_]u8{0} ** 32;
|
||||||
const bigsum: u32x8 = @as(u32x8, @bitCast(zerox32));
|
const bigsum: u32x8 = @as(u32x8, @bitCast(zerox32));
|
||||||
|
|||||||
@ -7,29 +7,21 @@ test "issue12891" {
|
|||||||
try std.testing.expect(i < f);
|
try std.testing.expect(i < f);
|
||||||
}
|
}
|
||||||
test "nan" {
|
test "nan" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const f = comptime std.math.nan(f64);
|
const f = comptime std.math.nan(f64);
|
||||||
var i: usize = 0;
|
var i: usize = 0;
|
||||||
try std.testing.expect(!(f < i));
|
try std.testing.expect(!(f < i));
|
||||||
}
|
}
|
||||||
test "inf" {
|
test "inf" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const f = comptime std.math.inf(f64);
|
const f = comptime std.math.inf(f64);
|
||||||
var i: usize = 0;
|
var i: usize = 0;
|
||||||
try std.testing.expect(f > i);
|
try std.testing.expect(f > i);
|
||||||
}
|
}
|
||||||
test "-inf < 0" {
|
test "-inf < 0" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const f = comptime -std.math.inf(f64);
|
const f = comptime -std.math.inf(f64);
|
||||||
var i: usize = 0;
|
var i: usize = 0;
|
||||||
try std.testing.expect(f < i);
|
try std.testing.expect(f < i);
|
||||||
}
|
}
|
||||||
test "inf >= 1" {
|
test "inf >= 1" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const f = comptime std.math.inf(f64);
|
const f = comptime std.math.inf(f64);
|
||||||
var i: usize = 1;
|
var i: usize = 1;
|
||||||
try std.testing.expect(f >= i);
|
try std.testing.expect(f >= i);
|
||||||
|
|||||||
@ -11,8 +11,6 @@ const B = extern struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a: *A = undefined;
|
var a: *A = undefined;
|
||||||
try expect(@TypeOf(&a.value.a) == *volatile u32);
|
try expect(@TypeOf(&a.value.a) == *volatile u32);
|
||||||
try expect(@TypeOf(&a.value.b) == *volatile i32);
|
try expect(@TypeOf(&a.value.b) == *volatile i32);
|
||||||
@ -26,8 +24,6 @@ const D = extern union {
|
|||||||
b: i32,
|
b: i32,
|
||||||
};
|
};
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var c: *C = undefined;
|
var c: *C = undefined;
|
||||||
try expect(@TypeOf(&c.value.a) == *volatile u32);
|
try expect(@TypeOf(&c.value.a) == *volatile u32);
|
||||||
try expect(@TypeOf(&c.value.b) == *volatile i32);
|
try expect(@TypeOf(&c.value.b) == *volatile i32);
|
||||||
|
|||||||
@ -14,7 +14,6 @@ pub const CustomDraw = DeleagateWithContext(fn (?OnConfirm) void);
|
|||||||
test "simple test" {
|
test "simple test" {
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var c: CustomDraw = undefined;
|
var c: CustomDraw = undefined;
|
||||||
_ = c;
|
_ = c;
|
||||||
|
|||||||
@ -10,7 +10,6 @@ test {
|
|||||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const foo = Foo{
|
const foo = Foo{
|
||||||
.a = 1,
|
.a = 1,
|
||||||
|
|||||||
@ -11,7 +11,6 @@ const Bar = packed struct {
|
|||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var foo = Bar.Baz.fizz;
|
var foo = Bar.Baz.fizz;
|
||||||
try expect(foo == .fizz);
|
try expect(foo == .fizz);
|
||||||
|
|||||||
@ -6,7 +6,6 @@ const Crasher = struct {
|
|||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a: Crasher = undefined;
|
var a: Crasher = undefined;
|
||||||
var crasher_ptr = &a;
|
var crasher_ptr = &a;
|
||||||
|
|||||||
@ -2,8 +2,6 @@ const testing = @import("std").testing;
|
|||||||
const builtin = @import("builtin");
|
const builtin = @import("builtin");
|
||||||
|
|
||||||
test {
|
test {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try testing.expect(getGeneric(u8, getU8) == 123);
|
try testing.expect(getGeneric(u8, getU8) == 123);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,8 +6,6 @@ const A = struct {
|
|||||||
const B = *const fn (A) void;
|
const B = *const fn (A) void;
|
||||||
|
|
||||||
test "allow these dependencies" {
|
test "allow these dependencies" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a: A = undefined;
|
var a: A = undefined;
|
||||||
var b: B = undefined;
|
var b: B = undefined;
|
||||||
if (false) {
|
if (false) {
|
||||||
|
|||||||
@ -6,7 +6,6 @@ test {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
|
||||||
const a = @Vector(0, i32){};
|
const a = @Vector(0, i32){};
|
||||||
const b = @Vector(0, i32){};
|
const b = @Vector(0, i32){};
|
||||||
_ = a + b;
|
_ = a + b;
|
||||||
@ -18,7 +17,6 @@ test {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
|
||||||
const a = @Vector(0, f32){};
|
const a = @Vector(0, f32){};
|
||||||
const b = @Vector(0, f32){};
|
const b = @Vector(0, f32){};
|
||||||
_ = a - b;
|
_ = a - b;
|
||||||
|
|||||||
@ -7,7 +7,6 @@ test "reslice of undefined global var slice" {
|
|||||||
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var mem: [100]u8 = [_]u8{0} ** 100;
|
var mem: [100]u8 = [_]u8{0} ** 100;
|
||||||
buf = &mem;
|
buf = &mem;
|
||||||
|
|||||||
@ -8,7 +8,6 @@ const ptr_tag_name: [*:0]const u8 = tag_name;
|
|||||||
test "@tagName() returns a string literal" {
|
test "@tagName() returns a string literal" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name));
|
try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name));
|
||||||
try std.testing.expect(std.mem.eql(u8, "TestEnumValue", tag_name));
|
try std.testing.expect(std.mem.eql(u8, "TestEnumValue", tag_name));
|
||||||
@ -22,7 +21,6 @@ const ptr_error_name: [*:0]const u8 = error_name;
|
|||||||
test "@errorName() returns a string literal" {
|
test "@errorName() returns a string literal" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name));
|
try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name));
|
||||||
try std.testing.expect(std.mem.eql(u8, "TestErrorCode", error_name));
|
try std.testing.expect(std.mem.eql(u8, "TestErrorCode", error_name));
|
||||||
|
|||||||
@ -8,7 +8,6 @@ test "crash" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var buf: [4096]u8 = undefined;
|
var buf: [4096]u8 = undefined;
|
||||||
f(&buf);
|
f(&buf);
|
||||||
|
|||||||
@ -22,7 +22,6 @@ test "assignment of field with padding" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
renderable = Renderable{
|
renderable = Renderable{
|
||||||
.mesh = Mesh{ .id = 0 },
|
.mesh = Mesh{ .id = 0 },
|
||||||
|
|||||||
@ -13,7 +13,6 @@ const text =
|
|||||||
test "issue 6456" {
|
test "issue 6456" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var fields: []const StructField = &[0]StructField{};
|
var fields: []const StructField = &[0]StructField{};
|
||||||
|
|||||||
@ -14,7 +14,6 @@ test "optional if after an if in a switch prong of a switch with 2 prongs in an
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try foo(false, true);
|
try foo(false, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,6 @@ fn S(comptime query: U) type {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "compiler doesn't consider equal unions with different 'type' payload" {
|
test "compiler doesn't consider equal unions with different 'type' payload" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const s1 = S(U{ .T = u32 }).tag();
|
const s1 = S(U{ .T = u32 }).tag();
|
||||||
try std.testing.expectEqual(u32, s1);
|
try std.testing.expectEqual(u32, s1);
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,6 @@ const builtin = @import("builtin");
|
|||||||
const expect = std.testing.expect;
|
const expect = std.testing.expect;
|
||||||
|
|
||||||
test "miscompilation with bool return type" {
|
test "miscompilation with bool return type" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: usize = 1;
|
var x: usize = 1;
|
||||||
var y: bool = getFalse();
|
var y: bool = getFalse();
|
||||||
_ = y;
|
_ = y;
|
||||||
|
|||||||
@ -2,8 +2,6 @@ const std = @import("std");
|
|||||||
const builtin = @import("builtin");
|
const builtin = @import("builtin");
|
||||||
|
|
||||||
test "@sizeOf reified union zero-size payload fields" {
|
test "@sizeOf reified union zero-size payload fields" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {}))));
|
try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {}))));
|
||||||
try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void }))));
|
try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void }))));
|
||||||
|
|||||||
@ -31,7 +31,6 @@ fn constCount(comptime cb: *const CountBy, comptime unused: u32) void {
|
|||||||
|
|
||||||
test "comptime struct return should not return the same instance" {
|
test "comptime struct return should not return the same instance" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
//the first parameter must be passed by reference to trigger the bug
|
//the first parameter must be passed by reference to trigger the bug
|
||||||
//a second parameter is required to trigger the bug
|
//a second parameter is required to trigger the bug
|
||||||
|
|||||||
@ -5,7 +5,6 @@ var result: []const u8 = "wrong";
|
|||||||
|
|
||||||
test "pass string literal byvalue to a generic var param" {
|
test "pass string literal byvalue to a generic var param" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
start();
|
start();
|
||||||
blowUpStack(10);
|
blowUpStack(10);
|
||||||
|
|||||||
@ -334,7 +334,6 @@ test "inline call preserves tail call" {
|
|||||||
test "inline call doesn't re-evaluate non generic struct" {
|
test "inline call doesn't re-evaluate non generic struct" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn foo(f: struct { a: u8, b: u8 }) !void {
|
fn foo(f: struct { a: u8, b: u8 }) !void {
|
||||||
|
|||||||
@ -403,7 +403,6 @@ test "peer type unsigned int to signed" {
|
|||||||
test "expected [*c]const u8, found [*:0]const u8" {
|
test "expected [*c]const u8, found [*:0]const u8" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a: [*:0]const u8 = "hello";
|
var a: [*:0]const u8 = "hello";
|
||||||
var b: [*c]const u8 = a;
|
var b: [*c]const u8 = a;
|
||||||
@ -445,7 +444,6 @@ test "implicitly cast from T to anyerror!?T" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try castToOptionalTypeError(1);
|
try castToOptionalTypeError(1);
|
||||||
try comptime castToOptionalTypeError(1);
|
try comptime castToOptionalTypeError(1);
|
||||||
@ -521,7 +519,6 @@ fn peerTypeEmptyArrayAndSliceAndError(a: bool, slice: []u8) anyerror![]u8 {
|
|||||||
test "implicit cast from *const [N]T to []const T" {
|
test "implicit cast from *const [N]T to []const T" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try testCastConstArrayRefToConstSlice();
|
try testCastConstArrayRefToConstSlice();
|
||||||
try comptime testCastConstArrayRefToConstSlice();
|
try comptime testCastConstArrayRefToConstSlice();
|
||||||
@ -547,7 +544,6 @@ fn testCastConstArrayRefToConstSlice() !void {
|
|||||||
test "peer type resolution: error and [N]T" {
|
test "peer type resolution: error and [N]T" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
|
try expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
|
||||||
try comptime expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
|
try comptime expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
|
||||||
@ -709,7 +705,6 @@ test "peer type resolution: error set supersets" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a: error{ One, Two } = undefined;
|
const a: error{ One, Two } = undefined;
|
||||||
const b: error{One} = undefined;
|
const b: error{One} = undefined;
|
||||||
@ -739,7 +734,6 @@ test "peer type resolution: disjoint error sets" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a: error{ One, Two } = undefined;
|
const a: error{ One, Two } = undefined;
|
||||||
const b: error{Three} = undefined;
|
const b: error{Three} = undefined;
|
||||||
@ -769,7 +763,6 @@ test "peer type resolution: error union and error set" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a: error{Three} = undefined;
|
const a: error{Three} = undefined;
|
||||||
const b: error{ One, Two }!u32 = undefined;
|
const b: error{ One, Two }!u32 = undefined;
|
||||||
@ -803,7 +796,6 @@ test "peer type resolution: error union after non-error" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a: u32 = undefined;
|
const a: u32 = undefined;
|
||||||
const b: error{ One, Two }!u32 = undefined;
|
const b: error{ One, Two }!u32 = undefined;
|
||||||
@ -863,7 +855,6 @@ test "peer cast *[0]T to []const T" {
|
|||||||
|
|
||||||
test "peer cast *[N]T to [*]T" {
|
test "peer cast *[N]T to [*]T" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var array = [4:99]i32{ 1, 2, 3, 4 };
|
var array = [4:99]i32{ 1, 2, 3, 4 };
|
||||||
var dest: [*]i32 = undefined;
|
var dest: [*]i32 = undefined;
|
||||||
@ -930,7 +921,6 @@ test "peer cast [N:x]T to [N]T" {
|
|||||||
test "peer cast *[N:x]T to *[N]T" {
|
test "peer cast *[N:x]T to *[N]T" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -946,7 +936,6 @@ test "peer cast *[N:x]T to *[N]T" {
|
|||||||
test "peer cast [*:x]T to [*]T" {
|
test "peer cast [*:x]T to [*]T" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -967,7 +956,6 @@ test "peer cast [:x]T to [*:x]T" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -988,7 +976,6 @@ test "peer cast [:x]T to [*:x]T" {
|
|||||||
test "peer type resolution implicit cast to return type" {
|
test "peer type resolution implicit cast to return type" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1009,7 +996,6 @@ test "peer type resolution implicit cast to return type" {
|
|||||||
test "peer type resolution implicit cast to variable type" {
|
test "peer type resolution implicit cast to variable type" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1034,7 +1020,6 @@ test "variable initialization uses result locations properly with regards to the
|
|||||||
test "cast between C pointer with different but compatible types" {
|
test "cast between C pointer with different but compatible types" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn foo(arg: [*]c_ushort) u16 {
|
fn foo(arg: [*]c_ushort) u16 {
|
||||||
@ -1052,7 +1037,6 @@ test "cast between C pointer with different but compatible types" {
|
|||||||
test "peer type resolve string lit with sentinel-terminated mutable slice" {
|
test "peer type resolve string lit with sentinel-terminated mutable slice" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var array: [4:0]u8 = undefined;
|
var array: [4:0]u8 = undefined;
|
||||||
array[4] = 0; // TODO remove this when #4372 is solved
|
array[4] = 0; // TODO remove this when #4372 is solved
|
||||||
@ -1062,8 +1046,6 @@ test "peer type resolve string lit with sentinel-terminated mutable slice" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "peer type resolve array pointers, one of them const" {
|
test "peer type resolve array pointers, one of them const" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var array1: [4]u8 = undefined;
|
var array1: [4]u8 = undefined;
|
||||||
const array2: [5]u8 = undefined;
|
const array2: [5]u8 = undefined;
|
||||||
try comptime expect(@TypeOf(&array1, &array2) == []const u8);
|
try comptime expect(@TypeOf(&array1, &array2) == []const u8);
|
||||||
@ -1071,8 +1053,6 @@ test "peer type resolve array pointers, one of them const" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "peer type resolve array pointer and unknown pointer" {
|
test "peer type resolve array pointer and unknown pointer" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const const_array: [4]u8 = undefined;
|
const const_array: [4]u8 = undefined;
|
||||||
var array: [4]u8 = undefined;
|
var array: [4]u8 = undefined;
|
||||||
var const_ptr: [*]const u8 = undefined;
|
var const_ptr: [*]const u8 = undefined;
|
||||||
@ -1092,8 +1072,6 @@ test "peer type resolve array pointer and unknown pointer" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "comptime float casts" {
|
test "comptime float casts" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a = @as(comptime_float, @floatFromInt(1));
|
const a = @as(comptime_float, @floatFromInt(1));
|
||||||
try expect(a == 1);
|
try expect(a == 1);
|
||||||
try expect(@TypeOf(a) == comptime_float);
|
try expect(@TypeOf(a) == comptime_float);
|
||||||
@ -1140,8 +1118,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "compile time int to ptr of function" {
|
test "compile time int to ptr of function" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try foobar(FUNCTION_CONSTANT);
|
try foobar(FUNCTION_CONSTANT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1341,8 +1317,6 @@ test "*const [N]null u8 to ?[]const u8" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "cast between [*c]T and ?[*:0]T on fn parameter" {
|
test "cast between [*c]T and ?[*:0]T on fn parameter" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
const Handler = ?fn ([*c]const u8) callconv(.C) void;
|
const Handler = ?fn ([*c]const u8) callconv(.C) void;
|
||||||
fn addCallback(comptime handler: Handler) void {
|
fn addCallback(comptime handler: Handler) void {
|
||||||
@ -1382,7 +1356,6 @@ test "cast between *[N]void and []void" {
|
|||||||
test "peer resolve arrays of different size to const slice" {
|
test "peer resolve arrays of different size to const slice" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(mem.eql(u8, boolToStr(true), "true"));
|
try expect(mem.eql(u8, boolToStr(true), "true"));
|
||||||
try expect(mem.eql(u8, boolToStr(false), "false"));
|
try expect(mem.eql(u8, boolToStr(false), "false"));
|
||||||
@ -1486,7 +1459,6 @@ test "cast compatible optional types" {
|
|||||||
test "coerce undefined single-item pointer of array to error union of slice" {
|
test "coerce undefined single-item pointer of array to error union of slice" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a = @as([*]u8, undefined)[0..0];
|
const a = @as([*]u8, undefined)[0..0];
|
||||||
var b: error{a}![]const u8 = a;
|
var b: error{a}![]const u8 = a;
|
||||||
@ -1496,7 +1468,6 @@ test "coerce undefined single-item pointer of array to error union of slice" {
|
|||||||
|
|
||||||
test "pointer to empty struct literal to mutable slice" {
|
test "pointer to empty struct literal to mutable slice" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: []i32 = &.{};
|
var x: []i32 = &.{};
|
||||||
try expect(x.len == 0);
|
try expect(x.len == 0);
|
||||||
@ -1585,7 +1556,6 @@ test "bitcast packed struct with u0" {
|
|||||||
|
|
||||||
test "optional pointer coerced to optional allowzero pointer" {
|
test "optional pointer coerced to optional allowzero pointer" {
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var p: ?*u32 = undefined;
|
var p: ?*u32 = undefined;
|
||||||
var q: ?*allowzero u32 = undefined;
|
var q: ?*allowzero u32 = undefined;
|
||||||
@ -1595,8 +1565,6 @@ test "optional pointer coerced to optional allowzero pointer" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "single item pointer to pointer to array to slice" {
|
test "single item pointer to pointer to array to slice" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: i32 = 1234;
|
var x: i32 = 1234;
|
||||||
try expect(@as([]const i32, @as(*[1]i32, &x))[0] == 1234);
|
try expect(@as([]const i32, @as(*[1]i32, &x))[0] == 1234);
|
||||||
const z1 = @as([]const i32, @as(*[1]i32, &x));
|
const z1 = @as([]const i32, @as(*[1]i32, &x));
|
||||||
@ -1632,8 +1600,6 @@ test "@volatileCast without a result location" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "coercion from single-item pointer to @as to slice" {
|
test "coercion from single-item pointer to @as to slice" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: u32 = 1;
|
var x: u32 = 1;
|
||||||
|
|
||||||
// Why the following line gets a compile error?
|
// Why the following line gets a compile error?
|
||||||
@ -2295,7 +2261,6 @@ test "cast builtins can wrap result in error union" {
|
|||||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
const MyEnum = enum(u32) { _ };
|
const MyEnum = enum(u32) { _ };
|
||||||
|
|||||||
@ -19,7 +19,6 @@ test "coerce i8 to i32 and @intCast back" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: i8 = -5;
|
var x: i8 = -5;
|
||||||
var y: i32 = -5;
|
var y: i32 = -5;
|
||||||
|
|||||||
@ -5,8 +5,6 @@ const expectEqual = std.testing.expectEqual;
|
|||||||
const expectError = std.testing.expectError;
|
const expectError = std.testing.expectError;
|
||||||
|
|
||||||
test "break and continue inside loop inside defer expression" {
|
test "break and continue inside loop inside defer expression" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
testBreakContInDefer(10);
|
testBreakContInDefer(10);
|
||||||
comptime testBreakContInDefer(10);
|
comptime testBreakContInDefer(10);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,8 +9,6 @@ test "switch on empty enum" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "switch on empty enum with a specified tag type" {
|
test "switch on empty enum with a specified tag type" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const E = enum(u8) {};
|
const E = enum(u8) {};
|
||||||
var e: E = undefined;
|
var e: E = undefined;
|
||||||
switch (e) {}
|
switch (e) {}
|
||||||
@ -18,7 +16,6 @@ test "switch on empty enum with a specified tag type" {
|
|||||||
|
|
||||||
test "switch on empty auto numbered tagged union" {
|
test "switch on empty auto numbered tagged union" {
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const U = union(enum(u8)) {};
|
const U = union(enum(u8)) {};
|
||||||
var u: U = undefined;
|
var u: U = undefined;
|
||||||
|
|||||||
@ -935,7 +935,6 @@ const Bar = enum { A, B, C, D };
|
|||||||
test "enum literal casting to error union with payload enum" {
|
test "enum literal casting to error union with payload enum" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var bar: error{B}!Bar = undefined;
|
var bar: error{B}!Bar = undefined;
|
||||||
bar = .B; // should never cast to the error set
|
bar = .B; // should never cast to the error set
|
||||||
@ -947,7 +946,6 @@ test "constant enum initialization with differing sizes" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try test3_1(test3_foo);
|
try test3_1(test3_foo);
|
||||||
try test3_2(test3_bar);
|
try test3_2(test3_bar);
|
||||||
@ -1054,7 +1052,6 @@ test "enum literal casting to optional" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var bar: ?Bar = undefined;
|
var bar: ?Bar = undefined;
|
||||||
bar = .B;
|
bar = .B;
|
||||||
@ -1141,7 +1138,6 @@ test "tag name functions are unique" {
|
|||||||
test "size of enum with only one tag which has explicit integer tag type" {
|
test "size of enum with only one tag which has explicit integer tag type" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const E = enum(u8) { nope = 10 };
|
const E = enum(u8) { nope = 10 };
|
||||||
const S0 = struct { e: E };
|
const S0 = struct { e: E };
|
||||||
|
|||||||
@ -822,7 +822,6 @@ test "alignment of wrapping an error union payload" {
|
|||||||
|
|
||||||
test "compare error union and error set" {
|
test "compare error union and error set" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a: anyerror = error.Foo;
|
var a: anyerror = error.Foo;
|
||||||
var b: anyerror!u32 = error.Bar;
|
var b: anyerror!u32 = error.Bar;
|
||||||
|
|||||||
@ -5,8 +5,6 @@ const expect = std.testing.expect;
|
|||||||
const expectEqual = std.testing.expectEqual;
|
const expectEqual = std.testing.expectEqual;
|
||||||
|
|
||||||
test "compile time recursion" {
|
test "compile time recursion" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(some_data.len == 21);
|
try expect(some_data.len == 21);
|
||||||
}
|
}
|
||||||
var some_data: [@as(usize, @intCast(fibonacci(7)))]u8 = undefined;
|
var some_data: [@as(usize, @intCast(fibonacci(7)))]u8 = undefined;
|
||||||
@ -74,7 +72,6 @@ fn constExprEvalOnSingleExprBlocksFn(x: i32, b: bool) i32 {
|
|||||||
test "constant expressions" {
|
test "constant expressions" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var array: [array_size]u8 = undefined;
|
var array: [array_size]u8 = undefined;
|
||||||
try expect(@sizeOf(@TypeOf(array)) == 20);
|
try expect(@sizeOf(@TypeOf(array)) == 20);
|
||||||
@ -143,7 +140,6 @@ test "pointer to type" {
|
|||||||
test "a type constructed in a global expression" {
|
test "a type constructed in a global expression" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var l: List = undefined;
|
var l: List = undefined;
|
||||||
l.array[0] = 10;
|
l.array[0] = 10;
|
||||||
@ -202,8 +198,6 @@ test "@setEvalBranchQuota" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "constant struct with negation" {
|
test "constant struct with negation" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(vertices[0].x == @as(f32, -0.6));
|
try expect(vertices[0].x == @as(f32, -0.6));
|
||||||
}
|
}
|
||||||
const Vertex = struct {
|
const Vertex = struct {
|
||||||
@ -308,8 +302,6 @@ fn performFn(comptime prefix_char: u8, start_value: i32) i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "comptime iterate over fn ptr list" {
|
test "comptime iterate over fn ptr list" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(performFn('t', 1) == 6);
|
try expect(performFn('t', 1) == 6);
|
||||||
try expect(performFn('o', 0) == 1);
|
try expect(performFn('o', 0) == 1);
|
||||||
try expect(performFn('w', 99) == 99);
|
try expect(performFn('w', 99) == 99);
|
||||||
@ -348,7 +340,6 @@ fn doesAlotT(comptime T: type, value: usize) T {
|
|||||||
test "@setEvalBranchQuota at same scope as generic function call" {
|
test "@setEvalBranchQuota at same scope as generic function call" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(doesAlotT(u32, 2) == 2);
|
try expect(doesAlotT(u32, 2) == 2);
|
||||||
}
|
}
|
||||||
@ -385,8 +376,6 @@ test "zero extend from u0 to u1" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "return 0 from function that has u0 return type" {
|
test "return 0 from function that has u0 return type" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn foo_zero() u0 {
|
fn foo_zero() u0 {
|
||||||
return 0;
|
return 0;
|
||||||
@ -417,8 +406,6 @@ var st_init_str_foo = StInitStrFoo{
|
|||||||
};
|
};
|
||||||
|
|
||||||
test "inline for with same type but different values" {
|
test "inline for with same type but different values" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var res: usize = 0;
|
var res: usize = 0;
|
||||||
inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| {
|
inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| {
|
||||||
var a: T = undefined;
|
var a: T = undefined;
|
||||||
@ -544,7 +531,6 @@ test "runtime 128 bit integer division" {
|
|||||||
test "@tagName of @typeInfo" {
|
test "@tagName of @typeInfo" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const str = @tagName(@typeInfo(u8));
|
const str = @tagName(@typeInfo(u8));
|
||||||
try expect(std.mem.eql(u8, str, "Int"));
|
try expect(std.mem.eql(u8, str, "Int"));
|
||||||
@ -554,7 +540,6 @@ test "static eval list init" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(static_vec3.data[2] == 1.0);
|
try expect(static_vec3.data[2] == 1.0);
|
||||||
try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);
|
try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);
|
||||||
@ -586,7 +571,6 @@ test "inlined loop has array literal with elided runtime scope on first iteratio
|
|||||||
test "ptr to local array argument at comptime" {
|
test "ptr to local array argument at comptime" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var bytes: [10]u8 = undefined;
|
var bytes: [10]u8 = undefined;
|
||||||
@ -623,7 +607,6 @@ const hi1 = "hi";
|
|||||||
const hi2 = hi1;
|
const hi2 = hi1;
|
||||||
test "const global shares pointer with other same one" {
|
test "const global shares pointer with other same one" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try assertEqualPtrs(&hi1[0], &hi2[0]);
|
try assertEqualPtrs(&hi1[0], &hi2[0]);
|
||||||
try comptime expect(&hi1[0] == &hi2[0]);
|
try comptime expect(&hi1[0] == &hi2[0]);
|
||||||
@ -659,8 +642,6 @@ pub fn TypeWithCompTimeSlice(comptime field_name: []const u8) type {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "comptime function with mutable pointer is not memoized" {
|
test "comptime function with mutable pointer is not memoized" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var x: i32 = 1;
|
var x: i32 = 1;
|
||||||
const ptr = &x;
|
const ptr = &x;
|
||||||
@ -753,7 +734,6 @@ test "array concatenation of function calls" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a = oneItem(3) ++ oneItem(4);
|
var a = oneItem(3) ++ oneItem(4);
|
||||||
try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 4 }));
|
try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 4 }));
|
||||||
@ -763,7 +743,6 @@ test "array multiplication of function calls" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a = oneItem(3) ** scalar(2);
|
var a = oneItem(3) ** scalar(2);
|
||||||
try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 3 }));
|
try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 3 }));
|
||||||
@ -852,7 +831,6 @@ test "array multiplication sets the sentinel - value" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a = [2:7]u3{ 1, 6 };
|
var a = [2:7]u3{ 1, 6 };
|
||||||
var b = a ** 2;
|
var b = a ** 2;
|
||||||
@ -869,7 +847,6 @@ test "array multiplication sets the sentinel - pointer" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var a = [2:7]u3{ 1, 6 };
|
var a = [2:7]u3{ 1, 6 };
|
||||||
var b = &a ** 2;
|
var b = &a ** 2;
|
||||||
@ -1004,7 +981,6 @@ test "closure capture type of runtime-known var" {
|
|||||||
|
|
||||||
test "comptime break passing through runtime condition converted to runtime break" {
|
test "comptime break passing through runtime condition converted to runtime break" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1038,7 +1014,6 @@ test "comptime break to outer loop passing through runtime condition converted t
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1110,7 +1085,6 @@ test "comptime break operand passing through runtime switch converted to runtime
|
|||||||
test "no dependency loop for alignment of self struct" {
|
test "no dependency loop for alignment of self struct" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1148,7 +1122,6 @@ test "no dependency loop for alignment of self struct" {
|
|||||||
test "no dependency loop for alignment of self bare union" {
|
test "no dependency loop for alignment of self bare union" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1186,7 +1159,6 @@ test "no dependency loop for alignment of self bare union" {
|
|||||||
test "no dependency loop for alignment of self tagged union" {
|
test "no dependency loop for alignment of self tagged union" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1377,7 +1349,6 @@ test "lazy value is resolved as slice operand" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const A = struct { a: u32 };
|
const A = struct { a: u32 };
|
||||||
var a: [512]u64 = undefined;
|
var a: [512]u64 = undefined;
|
||||||
@ -1435,7 +1406,6 @@ test "inline for inside a runtime condition" {
|
|||||||
|
|
||||||
test "continue in inline for inside a comptime switch" {
|
test "continue in inline for inside a comptime switch" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const arr = .{ 1, 2, 3 };
|
const arr = .{ 1, 2, 3 };
|
||||||
var count: u8 = 0;
|
var count: u8 = 0;
|
||||||
@ -1501,7 +1471,6 @@ test "continue nested inline for loop in named block expr" {
|
|||||||
|
|
||||||
test "x and false is comptime-known false" {
|
test "x and false is comptime-known false" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T = struct {
|
const T = struct {
|
||||||
var x: u32 = 0;
|
var x: u32 = 0;
|
||||||
@ -1529,7 +1498,6 @@ test "x and false is comptime-known false" {
|
|||||||
|
|
||||||
test "x or true is comptime-known true" {
|
test "x or true is comptime-known true" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T = struct {
|
const T = struct {
|
||||||
var x: u32 = 0;
|
var x: u32 = 0;
|
||||||
@ -1559,7 +1527,6 @@ test "non-optional and optional array elements concatenated" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const array = [1]u8{'A'} ++ [1]?u8{null};
|
const array = [1]u8{'A'} ++ [1]?u8{null};
|
||||||
var index: usize = 0;
|
var index: usize = 0;
|
||||||
@ -1648,8 +1615,6 @@ test "result of nested switch assigned to variable" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "inline for loop of functions returning error unions" {
|
test "inline for loop of functions returning error unions" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T1 = struct {
|
const T1 = struct {
|
||||||
fn v() error{}!usize {
|
fn v() error{}!usize {
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -736,7 +736,6 @@ test "@ceil" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try comptime testCeil();
|
try comptime testCeil();
|
||||||
try testCeil();
|
try testCeil();
|
||||||
@ -1053,7 +1052,6 @@ test "negation f128" {
|
|||||||
test "eval @setFloatMode at compile-time" {
|
test "eval @setFloatMode at compile-time" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const result = comptime fnWithFloatMode();
|
const result = comptime fnWithFloatMode();
|
||||||
try expect(result == 1234.0);
|
try expect(result == 1234.0);
|
||||||
@ -1089,7 +1087,6 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
inline for (.{ f16, f32, f64, f80, f128 }) |F| {
|
inline for (.{ f16, f32, f64, f80, f128 }) |F| {
|
||||||
const pos = @as(F, 1) / @as(F, 0);
|
const pos = @as(F, 1) / @as(F, 0);
|
||||||
|
|||||||
@ -20,8 +20,6 @@ fn testLocVars(b: i32) void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "mutable local variables" {
|
test "mutable local variables" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var zero: i32 = 0;
|
var zero: i32 = 0;
|
||||||
try expect(zero == 0);
|
try expect(zero == 0);
|
||||||
|
|
||||||
@ -53,8 +51,6 @@ test "weird function name" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "assign inline fn to const variable" {
|
test "assign inline fn to const variable" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const a = inlineFn;
|
const a = inlineFn;
|
||||||
a();
|
a();
|
||||||
}
|
}
|
||||||
@ -190,7 +186,6 @@ test "function with complex callconv and return type expressions" {
|
|||||||
|
|
||||||
test "pass by non-copying value" {
|
test "pass by non-copying value" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3);
|
try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3);
|
||||||
}
|
}
|
||||||
@ -218,7 +213,6 @@ fn addPointCoordsVar(pt: anytype) !i32 {
|
|||||||
|
|
||||||
test "pass by non-copying value as method" {
|
test "pass by non-copying value as method" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var pt = Point2{ .x = 1, .y = 2 };
|
var pt = Point2{ .x = 1, .y = 2 };
|
||||||
try expect(pt.addPointCoords() == 3);
|
try expect(pt.addPointCoords() == 3);
|
||||||
@ -235,7 +229,6 @@ const Point2 = struct {
|
|||||||
|
|
||||||
test "pass by non-copying value as method, which is generic" {
|
test "pass by non-copying value as method, which is generic" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var pt = Point3{ .x = 1, .y = 2 };
|
var pt = Point3{ .x = 1, .y = 2 };
|
||||||
try expect(pt.addPointCoords(i32) == 3);
|
try expect(pt.addPointCoords(i32) == 3);
|
||||||
@ -253,7 +246,6 @@ const Point3 = struct {
|
|||||||
|
|
||||||
test "pass by non-copying value as method, at comptime" {
|
test "pass by non-copying value as method, at comptime" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var pt = Point2{ .x = 1, .y = 2 };
|
var pt = Point2{ .x = 1, .y = 2 };
|
||||||
@ -396,8 +388,6 @@ test "function call with anon list literal - 2D" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "ability to give comptime types and non comptime types to same parameter" {
|
test "ability to give comptime types and non comptime types to same parameter" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
var x: i32 = 1;
|
var x: i32 = 1;
|
||||||
@ -415,8 +405,6 @@ test "ability to give comptime types and non comptime types to same parameter" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "function with inferred error set but returning no error" {
|
test "function with inferred error set but returning no error" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn foo() !void {}
|
fn foo() !void {}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -257,7 +257,6 @@ test "for loop with else branch" {
|
|||||||
test "count over fixed range" {
|
test "count over fixed range" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var sum: usize = 0;
|
var sum: usize = 0;
|
||||||
for (0..6) |i| {
|
for (0..6) |i| {
|
||||||
@ -270,7 +269,6 @@ test "count over fixed range" {
|
|||||||
test "two counters" {
|
test "two counters" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var sum: usize = 0;
|
var sum: usize = 0;
|
||||||
for (0..10, 10..20) |i, j| {
|
for (0..10, 10..20) |i, j| {
|
||||||
@ -318,7 +316,6 @@ test "slice and two counters, one is offset and one is runtime" {
|
|||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const slice: []const u8 = "blah";
|
const slice: []const u8 = "blah";
|
||||||
var start: usize = 0;
|
var start: usize = 0;
|
||||||
@ -406,7 +403,6 @@ test "inline for with slice as the comptime-known" {
|
|||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const comptime_slice = "hello";
|
const comptime_slice = "hello";
|
||||||
var runtime_i: usize = 3;
|
var runtime_i: usize = 3;
|
||||||
|
|||||||
@ -55,7 +55,6 @@ test "fn with comptime args" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(gimmeTheBigOne(1234, 5678) == 5678);
|
try expect(gimmeTheBigOne(1234, 5678) == 5678);
|
||||||
try expect(shouldCallSameInstance(34, 12) == 34);
|
try expect(shouldCallSameInstance(34, 12) == 34);
|
||||||
@ -66,7 +65,6 @@ test "anytype params" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(max_i32(12, 34) == 34);
|
try expect(max_i32(12, 34) == 34);
|
||||||
try expect(max_f64(1.2, 3.4) == 3.4);
|
try expect(max_f64(1.2, 3.4) == 3.4);
|
||||||
@ -91,7 +89,6 @@ fn max_f64(a: f64, b: f64) f64 {
|
|||||||
test "type constructed by comptime function call" {
|
test "type constructed by comptime function call" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var l: SimpleList(10) = undefined;
|
var l: SimpleList(10) = undefined;
|
||||||
l.array[0] = 10;
|
l.array[0] = 10;
|
||||||
@ -115,7 +112,6 @@ test "function with return type type" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var list: List(i32) = undefined;
|
var list: List(i32) = undefined;
|
||||||
var list2: List(i32) = undefined;
|
var list2: List(i32) = undefined;
|
||||||
@ -147,8 +143,6 @@ fn GenericDataThing(comptime count: isize) type {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "use generic param in generic param" {
|
test "use generic param in generic param" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(aGenericFn(i32, 3, 4) == 7);
|
try expect(aGenericFn(i32, 3, 4) == 7);
|
||||||
}
|
}
|
||||||
fn aGenericFn(comptime T: type, comptime a: T, b: T) T {
|
fn aGenericFn(comptime T: type, comptime a: T, b: T) T {
|
||||||
@ -178,7 +172,6 @@ test "generic fn keeps non-generic parameter types" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const A = 128;
|
const A = 128;
|
||||||
|
|
||||||
@ -254,7 +247,6 @@ test "generic function instantiation turns into comptime call" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -305,7 +297,6 @@ test "generic function with void and comptime parameter" {
|
|||||||
test "anonymous struct return type referencing comptime parameter" {
|
test "anonymous struct return type referencing comptime parameter" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
pub fn extraData(comptime T: type, index: usize) struct { data: T, end: usize } {
|
pub fn extraData(comptime T: type, index: usize) struct { data: T, end: usize } {
|
||||||
@ -406,8 +397,6 @@ test "generic struct as parameter type" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "slice as parameter type" {
|
test "slice as parameter type" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn internComptimeString(comptime str: []const u8) *const []const u8 {
|
fn internComptimeString(comptime str: []const u8) *const []const u8 {
|
||||||
return &struct {
|
return &struct {
|
||||||
@ -422,8 +411,6 @@ test "slice as parameter type" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "null sentinel pointer passed as generic argument" {
|
test "null sentinel pointer passed as generic argument" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest(a: anytype) !void {
|
fn doTheTest(a: anytype) !void {
|
||||||
try std.testing.expect(@intFromPtr(a) == 8);
|
try std.testing.expect(@intFromPtr(a) == 8);
|
||||||
@ -434,7 +421,6 @@ test "null sentinel pointer passed as generic argument" {
|
|||||||
|
|
||||||
test "generic function passed as comptime argument" {
|
test "generic function passed as comptime argument" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doMath(comptime f: fn (type, i32, i32) error{Overflow}!i32, a: i32, b: i32) !void {
|
fn doMath(comptime f: fn (type, i32, i32) error{Overflow}!i32, a: i32, b: i32) !void {
|
||||||
|
|||||||
@ -47,7 +47,6 @@ test "inline switch unions" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: U = .a;
|
var x: U = .a;
|
||||||
switch (x) {
|
switch (x) {
|
||||||
@ -141,8 +140,6 @@ test "inline else int all values" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "inline switch capture is set when switch operand is comptime known" {
|
test "inline switch capture is set when switch operand is comptime known" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const U2 = union(enum) {
|
const U2 = union(enum) {
|
||||||
a: u32,
|
a: u32,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1145,8 +1145,6 @@ test "overflow arithmetic with u0 values" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "allow signed integer division/remainder when values are comptime-known and positive or exact" {
|
test "allow signed integer division/remainder when values are comptime-known and positive or exact" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(5 / 3 == 1);
|
try expect(5 / 3 == 1);
|
||||||
try expect(-5 / -3 == 1);
|
try expect(-5 / -3 == 1);
|
||||||
try expect(-6 / 3 == -2);
|
try expect(-6 / 3 == -2);
|
||||||
|
|||||||
@ -200,7 +200,6 @@ test "@min/@max on comptime_int" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
|
||||||
|
|
||||||
const min = @min(1, 2, -2, -1);
|
const min = @min(1, 2, -2, -1);
|
||||||
const max = @max(1, 2, -2, -1);
|
const max = @max(1, 2, -2, -1);
|
||||||
@ -257,7 +256,6 @@ test "@min/@max notices bounds from types when comptime-known value is undef" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var x: u32 = 1_000_000;
|
var x: u32 = 1_000_000;
|
||||||
const y: u16 = undefined;
|
const y: u16 = undefined;
|
||||||
|
|||||||
@ -754,7 +754,6 @@ test "slice len modification at comptime" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "slice field ptr const" {
|
test "slice field ptr const" {
|
||||||
|
|
||||||
const const_slice: []const u8 = "string";
|
const const_slice: []const u8 = "string";
|
||||||
|
|
||||||
const const_ptr_const_slice = &const_slice;
|
const const_ptr_const_slice = &const_slice;
|
||||||
|
|||||||
@ -109,7 +109,6 @@ fn testMutation(foo: *StructFoo) void {
|
|||||||
|
|
||||||
test "struct byval assign" {
|
test "struct byval assign" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var foo1: StructFoo = undefined;
|
var foo1: StructFoo = undefined;
|
||||||
var foo2: StructFoo = undefined;
|
var foo2: StructFoo = undefined;
|
||||||
@ -129,8 +128,6 @@ test "call struct static method" {
|
|||||||
const should_be_11 = StructWithNoFields.add(5, 6);
|
const should_be_11 = StructWithNoFields.add(5, 6);
|
||||||
|
|
||||||
test "invoke static method in global scope" {
|
test "invoke static method in global scope" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try expect(should_be_11 == 11);
|
try expect(should_be_11 == 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,7 +252,6 @@ test "usingnamespace within struct scope" {
|
|||||||
test "struct field init with catch" {
|
test "struct field init with catch" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -367,8 +363,6 @@ test "self-referencing struct via array member" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "empty struct method call" {
|
test "empty struct method call" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const es = EmptyStruct{};
|
const es = EmptyStruct{};
|
||||||
try expect(es.method() == 1234);
|
try expect(es.method() == 1234);
|
||||||
}
|
}
|
||||||
@ -553,7 +547,6 @@ test "implicit cast packed struct field to const ptr" {
|
|||||||
|
|
||||||
test "zero-bit field in packed struct" {
|
test "zero-bit field in packed struct" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = packed struct {
|
const S = packed struct {
|
||||||
x: u10,
|
x: u10,
|
||||||
@ -949,8 +942,6 @@ test "tuple assigned to variable" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "comptime struct field" {
|
test "comptime struct field" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; // TODO
|
if (comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; // TODO
|
||||||
|
|
||||||
@ -988,7 +979,6 @@ test "struct with union field" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const Value = struct {
|
const Value = struct {
|
||||||
ref: u32 = 2,
|
ref: u32 = 2,
|
||||||
@ -1439,8 +1429,6 @@ test "struct field has a pointer to an aligned version of itself" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "struct has only one reference" {
|
test "struct has only one reference" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn optionalStructParam(_: ?struct { x: u8 }) void {}
|
fn optionalStructParam(_: ?struct { x: u8 }) void {}
|
||||||
fn errorUnionStructParam(_: error{}!struct { x: u8 }) void {}
|
fn errorUnionStructParam(_: error{}!struct { x: u8 }) void {}
|
||||||
@ -1510,7 +1498,6 @@ test "discarded struct initialization works as expected" {
|
|||||||
|
|
||||||
test "function pointer in struct returns the struct" {
|
test "function pointer in struct returns the struct" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const A = struct {
|
const A = struct {
|
||||||
const A = @This();
|
const A = @This();
|
||||||
@ -1560,7 +1547,6 @@ test "optional field init with tuple" {
|
|||||||
|
|
||||||
test "if inside struct init inside if" {
|
test "if inside struct init inside if" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const MyStruct = struct { x: u32 };
|
const MyStruct = struct { x: u32 };
|
||||||
const b: u32 = 5;
|
const b: u32 = 5;
|
||||||
|
|||||||
@ -232,7 +232,6 @@ test "switch prong with variable" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });
|
try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });
|
||||||
try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });
|
try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });
|
||||||
@ -257,7 +256,6 @@ test "switch on enum using pointer capture" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try testSwitchEnumPtrCapture();
|
try testSwitchEnumPtrCapture();
|
||||||
try comptime testSwitchEnumPtrCapture();
|
try comptime testSwitchEnumPtrCapture();
|
||||||
@ -318,7 +316,6 @@ test "switch on union with some prongs capturing" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const X = union(enum) {
|
const X = union(enum) {
|
||||||
a,
|
a,
|
||||||
@ -355,7 +352,6 @@ test "switch on const enum with var" {
|
|||||||
test "anon enum literal used in switch on union enum" {
|
test "anon enum literal used in switch on union enum" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const Foo = union(enum) {
|
const Foo = union(enum) {
|
||||||
a: i32,
|
a: i32,
|
||||||
@ -394,7 +390,6 @@ fn switchWithUnreachable(x: i32) i32 {
|
|||||||
|
|
||||||
test "capture value of switch with all unreachable prongs" {
|
test "capture value of switch with all unreachable prongs" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const x = return_a_number() catch |err| switch (err) {
|
const x = return_a_number() catch |err| switch (err) {
|
||||||
else => unreachable,
|
else => unreachable,
|
||||||
@ -408,7 +403,6 @@ fn return_a_number() anyerror!i32 {
|
|||||||
|
|
||||||
test "switch on integer with else capturing expr" {
|
test "switch on integer with else capturing expr" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -498,7 +492,6 @@ test "switch prongs with error set cases make a new error set type for capture v
|
|||||||
|
|
||||||
test "return result loc and then switch with range implicit casted to error union" {
|
test "return result loc and then switch with range implicit casted to error union" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -539,7 +532,6 @@ test "switch prongs with cases with identical payload types" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const Union = union(enum) {
|
const Union = union(enum) {
|
||||||
A: usize,
|
A: usize,
|
||||||
@ -706,8 +698,6 @@ test "switch item sizeof" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "comptime inline switch" {
|
test "comptime inline switch" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const U = union(enum) { a: type, b: type };
|
const U = union(enum) { a: type, b: type };
|
||||||
const value = comptime blk: {
|
const value = comptime blk: {
|
||||||
var u: U = .{ .a = u32 };
|
var u: U = .{ .a = u32 };
|
||||||
|
|||||||
@ -27,7 +27,6 @@ test "this refer to module call private fn" {
|
|||||||
test "this refer to container" {
|
test "this refer to container" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var pt: Point(i32) = undefined;
|
var pt: Point(i32) = undefined;
|
||||||
pt.x = 12;
|
pt.x = 12;
|
||||||
|
|||||||
@ -24,8 +24,6 @@ fn returnsTen() anyerror!i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "try without vars" {
|
test "try without vars" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const result1 = if (failIfTrue(true)) 1 else |_| @as(i32, 2);
|
const result1 = if (failIfTrue(true)) 1 else |_| @as(i32, 2);
|
||||||
try expect(result1 == 2);
|
try expect(result1 == 2);
|
||||||
|
|
||||||
|
|||||||
@ -289,7 +289,6 @@ test "coerce tuple to tuple" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T = std.meta.Tuple(&.{u8});
|
const T = std.meta.Tuple(&.{u8});
|
||||||
const S = struct {
|
const S = struct {
|
||||||
@ -304,7 +303,6 @@ test "tuple type with void field" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T = std.meta.Tuple(&[_]type{void});
|
const T = std.meta.Tuple(&[_]type{void});
|
||||||
const x = T{{}};
|
const x = T{{}};
|
||||||
@ -343,7 +341,6 @@ test "zero sized struct in tuple handled correctly" {
|
|||||||
test "tuple type with void field and a runtime field" {
|
test "tuple type with void field and a runtime field" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const T = std.meta.Tuple(&[_]type{ usize, void });
|
const T = std.meta.Tuple(&[_]type{ usize, void });
|
||||||
var t: T = .{ 5, {} };
|
var t: T = .{ 5, {} };
|
||||||
|
|||||||
@ -160,7 +160,6 @@ test "type info: error set, error union info, anyerror" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try testErrorSet();
|
try testErrorSet();
|
||||||
try comptime testErrorSet();
|
try comptime testErrorSet();
|
||||||
@ -192,7 +191,6 @@ test "type info: error set single value" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const TestSet = error.One;
|
const TestSet = error.One;
|
||||||
|
|
||||||
@ -206,7 +204,6 @@ test "type info: error set merged" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const TestSet = error{ One, Two } || error{Three};
|
const TestSet = error{ One, Two } || error{Three};
|
||||||
|
|
||||||
@ -222,7 +219,6 @@ test "type info: enum info" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try testEnum();
|
try testEnum();
|
||||||
try comptime testEnum();
|
try comptime testEnum();
|
||||||
@ -533,7 +529,6 @@ test "Struct.is_tuple for anon list literal" {
|
|||||||
|
|
||||||
test "Struct.is_tuple for anon struct literal" {
|
test "Struct.is_tuple for anon struct literal" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const info = @typeInfo(@TypeOf(.{ .a = 0 }));
|
const info = @typeInfo(@TypeOf(.{ .a = 0 }));
|
||||||
try expect(!info.Struct.is_tuple);
|
try expect(!info.Struct.is_tuple);
|
||||||
|
|||||||
@ -48,7 +48,6 @@ test "assign undefined to struct" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var foo: Foo = undefined;
|
var foo: Foo = undefined;
|
||||||
@ -66,7 +65,6 @@ test "assign undefined to struct with method" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
var foo: Foo = undefined;
|
var foo: Foo = undefined;
|
||||||
@ -82,7 +80,6 @@ test "assign undefined to struct with method" {
|
|||||||
|
|
||||||
test "type name of undefined" {
|
test "type name of undefined" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const x = undefined;
|
const x = undefined;
|
||||||
try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));
|
try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));
|
||||||
|
|||||||
@ -8,7 +8,6 @@ test "ignore lval with underscore" {
|
|||||||
|
|
||||||
test "ignore lval with underscore (while loop)" {
|
test "ignore lval with underscore (while loop)" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
while (optionalReturnError()) |_| {
|
while (optionalReturnError()) |_| {
|
||||||
while (optionalReturnError()) |_| {
|
while (optionalReturnError()) |_| {
|
||||||
|
|||||||
@ -1160,7 +1160,6 @@ test "union with no result loc initiated with a runtime value" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const U = union {
|
const U = union {
|
||||||
a: u32,
|
a: u32,
|
||||||
@ -1177,7 +1176,6 @@ test "union with a large struct field" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
a: [8]usize,
|
a: [8]usize,
|
||||||
@ -1329,7 +1327,6 @@ test "@unionInit uses tag value instead of field index" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const E = enum(u8) {
|
const E = enum(u8) {
|
||||||
b = 255,
|
b = 255,
|
||||||
|
|||||||
@ -240,7 +240,6 @@ test "peer type resolution with coercible element types" {
|
|||||||
if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn doTheTest() !void {
|
fn doTheTest() !void {
|
||||||
@ -1469,7 +1468,6 @@ test "boolean vector with 2 or more booleans" {
|
|||||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
|
|
||||||
|
|
||||||
// TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:
|
// TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:
|
||||||
if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return;
|
if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return;
|
||||||
|
|||||||
@ -50,8 +50,6 @@ test "while with continue expression" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "while with else" {
|
test "while with else" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var sum: i32 = 0;
|
var sum: i32 = 0;
|
||||||
var i: i32 = 0;
|
var i: i32 = 0;
|
||||||
var got_else: i32 = 0;
|
var got_else: i32 = 0;
|
||||||
@ -79,8 +77,6 @@ fn getNumberOrNull() ?i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "continue outer while loop" {
|
test "continue outer while loop" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
testContinueOuter();
|
testContinueOuter();
|
||||||
comptime testContinueOuter();
|
comptime testContinueOuter();
|
||||||
}
|
}
|
||||||
@ -127,7 +123,6 @@ test "while copies its payload" {
|
|||||||
|
|
||||||
test "continue and break" {
|
test "continue and break" {
|
||||||
if (builtin.zig_backend == .stage2_aarch64 and builtin.os.tag == .macos) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_aarch64 and builtin.os.tag == .macos) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
try runContinueAndBreakTest();
|
try runContinueAndBreakTest();
|
||||||
try expect(continue_and_break_counter == 8);
|
try expect(continue_and_break_counter == 8);
|
||||||
@ -149,7 +144,6 @@ fn runContinueAndBreakTest() !void {
|
|||||||
test "while with optional as condition" {
|
test "while with optional as condition" {
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
numbers_left = 10;
|
numbers_left = 10;
|
||||||
var sum: i32 = 0;
|
var sum: i32 = 0;
|
||||||
@ -162,7 +156,6 @@ test "while with optional as condition" {
|
|||||||
test "while with optional as condition with else" {
|
test "while with optional as condition with else" {
|
||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
numbers_left = 10;
|
numbers_left = 10;
|
||||||
var sum: i32 = 0;
|
var sum: i32 = 0;
|
||||||
@ -223,7 +216,6 @@ test "while on optional with else result follow break prong" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest;
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const result = while (returnOptional(10)) |value| {
|
const result = while (returnOptional(10)) |value| {
|
||||||
break value;
|
break value;
|
||||||
@ -251,8 +243,6 @@ fn returnTrue() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "return with implicit cast from while loop" {
|
test "return with implicit cast from while loop" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
returnWithImplicitCastFromWhileLoopTest() catch unreachable;
|
returnWithImplicitCastFromWhileLoopTest() catch unreachable;
|
||||||
}
|
}
|
||||||
fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
|
fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
|
||||||
@ -263,7 +253,6 @@ fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
|
|||||||
|
|
||||||
test "while on error union with else result follow else prong" {
|
test "while on error union with else result follow else prong" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const result = while (returnError()) |value| {
|
const result = while (returnError()) |value| {
|
||||||
break value;
|
break value;
|
||||||
@ -273,7 +262,6 @@ test "while on error union with else result follow else prong" {
|
|||||||
|
|
||||||
test "while on error union with else result follow break prong" {
|
test "while on error union with else result follow break prong" {
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const result = while (returnSuccess(10)) |value| {
|
const result = while (returnSuccess(10)) |value| {
|
||||||
break value;
|
break value;
|
||||||
@ -319,7 +307,6 @@ test "while error 2 break statements and an else" {
|
|||||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
const S = struct {
|
const S = struct {
|
||||||
fn entry(opt_t: anyerror!bool, f: bool) !void {
|
fn entry(opt_t: anyerror!bool, f: bool) !void {
|
||||||
@ -345,8 +332,6 @@ test "continue inline while loop" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "else continue outer while" {
|
test "else continue outer while" {
|
||||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
|
||||||
|
|
||||||
var i: usize = 0;
|
var i: usize = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
i += 1;
|
i += 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user