From ddd5b57045d38b7d1f7d5a4120302797433233cd Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Thu, 26 May 2022 16:03:49 +0200 Subject: [PATCH] stage2 AArch64: complete genTypedValue --- src/arch/aarch64/CodeGen.zig | 36 ++++++++++++++--------------- test/behavior/align.zig | 1 - test/behavior/array.zig | 4 ---- test/behavior/basic.zig | 3 --- test/behavior/bitcast.zig | 1 - test/behavior/bitreverse.zig | 1 - test/behavior/bugs/11165.zig | 2 -- test/behavior/bugs/11181.zig | 2 -- test/behavior/bugs/11213.zig | 1 - test/behavior/bugs/1421.zig | 1 - test/behavior/bugs/394.zig | 1 - test/behavior/bugs/4560.zig | 2 -- test/behavior/bugs/7187.zig | 1 - test/behavior/byteswap.zig | 1 - test/behavior/cast.zig | 2 -- test/behavior/comptime_memory.zig | 4 ---- test/behavior/error.zig | 1 - test/behavior/eval.zig | 7 ------ test/behavior/fn.zig | 9 -------- test/behavior/fn_delegation.zig | 1 - test/behavior/generics.zig | 1 - test/behavior/optional.zig | 2 -- test/behavior/pointers.zig | 2 -- test/behavior/sizeof_and_typeof.zig | 1 - test/behavior/slice.zig | 2 -- test/behavior/struct.zig | 4 ---- test/behavior/type.zig | 2 -- test/behavior/type_info.zig | 1 - test/behavior/union.zig | 1 - test/behavior/void.zig | 2 -- 30 files changed, 18 insertions(+), 81 deletions(-) diff --git a/src/arch/aarch64/CodeGen.zig b/src/arch/aarch64/CodeGen.zig index e0c36e70f9ccd6132fa1b0071adfe4a5d2532ad5..1671f705c75b1cdd5b8e4c9be5ad78b917ad5e9e 100644 --- a/src/arch/aarch64/CodeGen.zig +++ b/src/arch/aarch64/CodeGen.zig @@ -4572,6 +4572,7 @@ fn lowerUnnamedConst(self: *Self, tv: TypedValue) InnerError!MCValue { } fn genTypedValue(self: *Self, typed_value: TypedValue) InnerError!MCValue { + log.debug("genTypedValue: ty = {}, val = {}", .{ typed_value.ty.fmtDebug(), typed_value.val.fmtDebug() }); if (typed_value.val.isUndef()) return MCValue{ .undef = {} }; @@ -4585,20 +4586,13 @@ fn genTypedValue(self: *Self, typed_value: TypedValue) InnerError!MCValue { switch (typed_value.ty.zigTypeTag()) { .Pointer => switch (typed_value.ty.ptrSize()) { - .Slice => { - return self.lowerUnnamedConst(typed_value); - }, + .Slice => {}, else => { switch (typed_value.val.tag()) { .int_u64 => { return MCValue{ .immediate = typed_value.val.toUnsignedInt(target) }; }, - .slice => { - return self.lowerUnnamedConst(typed_value); - }, - else => { - return self.fail("TODO codegen more kinds of const pointers: {}", .{typed_value.val.tag()}); - }, + else => {}, } }, }, @@ -4614,15 +4608,11 @@ fn genTypedValue(self: *Self, typed_value: TypedValue) InnerError!MCValue { }; return MCValue{ .immediate = unsigned }; - } else { - return self.lowerUnnamedConst(typed_value); } }, .Bool => { return MCValue{ .immediate = @boolToInt(typed_value.val.toBool()) }; }, - .ComptimeInt => unreachable, // semantic analysis prevents this - .ComptimeFloat => unreachable, // semantic analysis prevents this .Optional => { if (typed_value.ty.isPtrLikeOptional()) { if (typed_value.val.isNull()) @@ -4636,7 +4626,6 @@ fn genTypedValue(self: *Self, typed_value: TypedValue) InnerError!MCValue { } else if (typed_value.ty.abiSize(self.target.*) == 1) { return MCValue{ .immediate = @boolToInt(typed_value.val.isNull()) }; } - return self.fail("TODO non pointer optionals", .{}); }, .Enum => { if (typed_value.val.castTag(.enum_field_index)) |field_index| { @@ -4695,11 +4684,22 @@ fn genTypedValue(self: *Self, typed_value: TypedValue) InnerError!MCValue { return self.lowerUnnamedConst(typed_value); }, - .Struct => { - return self.lowerUnnamedConst(typed_value); - }, - else => return self.fail("TODO implement const of type '{}'", .{typed_value.ty.fmtDebug()}), + + .ComptimeInt => unreachable, // semantic analysis prevents this + .ComptimeFloat => unreachable, // semantic analysis prevents this + .Type => unreachable, + .EnumLiteral => unreachable, + .Void => unreachable, + .NoReturn => unreachable, + .Undefined => unreachable, + .Null => unreachable, + .BoundFn => unreachable, + .Opaque => unreachable, + + else => {}, } + + return self.lowerUnnamedConst(typed_value); } const CallMCValues = struct { diff --git a/test/behavior/align.zig b/test/behavior/align.zig index 6a819b4a7dc5ceabe511ceff38d002850eaedc0f..2c0893074e247c6de05fdac3c9b16a638a876c41 100644 --- a/test/behavior/align.zig +++ b/test/behavior/align.zig @@ -7,7 +7,6 @@ var foo: u8 align(4) = 100; test "global variable alignment" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO comptime try expect(@typeInfo(@TypeOf(&foo)).Pointer.alignment == 4); diff --git a/test/behavior/array.zig b/test/behavior/array.zig index 728e05271ace44ee61c7847fc3806c7431cf64b4..93de42df67d45fe894b076f037125e073e9d95d3 100644 --- a/test/behavior/array.zig +++ b/test/behavior/array.zig @@ -95,8 +95,6 @@ test "array literal with specified size" { } test "array len field" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - var arr = [4]u8{ 0, 0, 0, 0 }; var ptr = &arr; try expect(arr.len == 4); @@ -217,8 +215,6 @@ fn doSomeMangling(array: *[4]u8) void { } test "implicit cast zero sized array ptr to slice" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - { var b = "".*; const c: []const u8 = &b; diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig index adcba8721d6da440af1cc263f176bc6cdfc783be..ac9e776c768cbe9357edc845395d98837353b1a3 100644 --- a/test/behavior/basic.zig +++ b/test/behavior/basic.zig @@ -362,7 +362,6 @@ fn testMemcpyMemset() !void { } test "variable is allowed to be a pointer to an opaque type" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO @@ -611,7 +610,6 @@ test "self reference through fn ptr field" { } test "global variable initialized to global variable array element" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; try expect(global_ptr == &gdt[0]); @@ -677,7 +675,6 @@ test "explicit cast optional pointers" { } test "pointer comparison" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/bitcast.zig b/test/behavior/bitcast.zig index c571851fe48bd18afbb74a2d43fecceea7997dcd..e851d7de09b36ecba0877940b31912b4bba4b673 100644 --- a/test/behavior/bitcast.zig +++ b/test/behavior/bitcast.zig @@ -7,7 +7,6 @@ const minInt = std.math.minInt; const native_endian = builtin.target.cpu.arch.endian(); test "@bitCast iX -> uX (32, 64)" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; const bit_values = [_]usize{ 32, 64 }; diff --git a/test/behavior/bitreverse.zig b/test/behavior/bitreverse.zig index 36a3d3475c9f0020750e862ae8c9a9dc046ae50c..821bc21f27d228e14cfdd9347dd3953973c0765c 100644 --- a/test/behavior/bitreverse.zig +++ b/test/behavior/bitreverse.zig @@ -158,7 +158,6 @@ test "bitReverse vectors u0" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; comptime try vector0(); try vector0(); diff --git a/test/behavior/bugs/11165.zig b/test/behavior/bugs/11165.zig index cf2f9698f9b9520c813e1f087286118b9c576e5c..b3c4a32ec451d17ef0d81d8c957238ac47e25f8d 100644 --- a/test/behavior/bugs/11165.zig +++ b/test/behavior/bugs/11165.zig @@ -2,7 +2,6 @@ const builtin = @import("builtin"); test "bytes" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const S = struct { a: u32, @@ -25,7 +24,6 @@ test "bytes" { test "aggregate" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const S = struct { a: u32, diff --git a/test/behavior/bugs/11181.zig b/test/behavior/bugs/11181.zig index 738bd4e3e75f33a44ffc9ed5e64f654a6a8bbffc..67d26d6b4e55bbfbb8946087c6703af7fe6d8b27 100644 --- a/test/behavior/bugs/11181.zig +++ b/test/behavior/bugs/11181.zig @@ -2,7 +2,6 @@ const builtin = @import("builtin"); test "const inferred array of slices" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const T = struct { v: bool }; @@ -16,7 +15,6 @@ test "const inferred array of slices" { test "var inferred array of slices" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const T = struct { v: bool }; diff --git a/test/behavior/bugs/11213.zig b/test/behavior/bugs/11213.zig index d4e3580c07c3b97420f9a43070a95c02a3aab7b3..f238eb5aabf14079136e0613d6593394a751ce1f 100644 --- a/test/behavior/bugs/11213.zig +++ b/test/behavior/bugs/11213.zig @@ -4,7 +4,6 @@ const testing = std.testing; test { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO const g: error{Test}!void = error.Test; diff --git a/test/behavior/bugs/1421.zig b/test/behavior/bugs/1421.zig index e4e42bd21bd441baa425a5a13f759aacefceb82d..d6ea8a2bad45f329bc4ad47bf59fbd66d66d1e6a 100644 --- a/test/behavior/bugs/1421.zig +++ b/test/behavior/bugs/1421.zig @@ -9,7 +9,6 @@ const S = struct { }; test "functions with return type required to be comptime are generic" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; const ti = S.method(); diff --git a/test/behavior/bugs/394.zig b/test/behavior/bugs/394.zig index e7d6e80936d92c4482837eb34a9ca6490f7c564c..9f5165d1baf31fb1f5bcfd8c4f99d2d38a0bf7f1 100644 --- a/test/behavior/bugs/394.zig +++ b/test/behavior/bugs/394.zig @@ -11,7 +11,6 @@ const expect = @import("std").testing.expect; const builtin = @import("builtin"); test "fixed" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; const x = S{ diff --git a/test/behavior/bugs/4560.zig b/test/behavior/bugs/4560.zig index 30d36779203fe762682818bca89dcddc533b4620..ea40e55da36f00026252b2efe9ed095b250e68fb 100644 --- a/test/behavior/bugs/4560.zig +++ b/test/behavior/bugs/4560.zig @@ -2,8 +2,6 @@ const std = @import("std"); const builtin = @import("builtin"); test "fixed" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - var s: S = .{ .a = 1, .b = .{ diff --git a/test/behavior/bugs/7187.zig b/test/behavior/bugs/7187.zig index 86f5aa670643897c44738d43952697429c8e680a..9ce63ad4cde44b9b2c28fba7114ff4c38e7392df 100644 --- a/test/behavior/bugs/7187.zig +++ b/test/behavior/bugs/7187.zig @@ -3,7 +3,6 @@ const builtin = @import("builtin"); const expect = std.testing.expect; test "miscompilation with bool return type" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; var x: usize = 1; diff --git a/test/behavior/byteswap.zig b/test/behavior/byteswap.zig index 6e317b7fc289ac8872ea27c4a78ad4702c484030..13cc823e9dc62d471269f111e1a1e3c4464c5734 100644 --- a/test/behavior/byteswap.zig +++ b/test/behavior/byteswap.zig @@ -118,7 +118,6 @@ test "@byteSwap vectors u0" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; comptime try vector0(); try vector0(); diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index 58b458ad1e9d33ba5fc68a3662956e7343766d3c..4ff2c78d471e6007912cb12ffd2ef37e02cc60fc 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -843,7 +843,6 @@ test "peer cast *[0]T to []const T" { } test "peer cast *[N]T to [*]T" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO var array = [4:99]i32{ 1, 2, 3, 4 }; @@ -1116,7 +1115,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void { test "compile time int to ptr of function" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/comptime_memory.zig b/test/behavior/comptime_memory.zig index 17cee27771c798add8f6f82dae12736d01c3d233..1a3e9ef606a167d4953865ad879b05e1c0a492ce 100644 --- a/test/behavior/comptime_memory.zig +++ b/test/behavior/comptime_memory.zig @@ -5,7 +5,6 @@ const ptr_size = @sizeOf(usize); test "type pun signed and unsigned as single pointer" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO comptime { @@ -18,7 +17,6 @@ test "type pun signed and unsigned as single pointer" { test "type pun signed and unsigned as many pointer" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO comptime { var x: u32 = 0; @@ -30,7 +28,6 @@ test "type pun signed and unsigned as many pointer" { test "type pun signed and unsigned as array pointer" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO comptime { var x: u32 = 0; @@ -74,7 +71,6 @@ test "type pun signed and unsigned as array pointer" { test "type pun value and struct" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO comptime { const StructOfU32 = extern struct { x: u32 }; diff --git a/test/behavior/error.zig b/test/behavior/error.zig index 312ab1524aa9d6b9a1d7762d8ab91aa651f08f6d..b735d70d733f1a42abdc855badfa9c688eeec001 100644 --- a/test/behavior/error.zig +++ b/test/behavior/error.zig @@ -119,7 +119,6 @@ test "widen cast integer payload of error union function call" { test "debug info for optional error set" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const SomeError = error{ Hello, Hello2 }; var a_local_variable: ?SomeError = null; diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig index 4609b58ddb99085938792053e67902c82b8d3b2a..f14a25451d3723860faaf4595fa9f7e9c327a13a 100644 --- a/test/behavior/eval.zig +++ b/test/behavior/eval.zig @@ -406,8 +406,6 @@ var st_init_str_foo = StInitStrFoo{ }; test "inline for with same type but different values" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - var res: usize = 0; inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| { var a: T = undefined; @@ -487,7 +485,6 @@ test "comptime bitwise operators" { test "comptime shlWithOverflow" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const ct_shifted: u64 = comptime amt: { var amt = @as(u64, 0); @@ -559,8 +556,6 @@ pub fn vec3(x: f32, y: f32, z: f32) Vec3 { } test "inlined loop has array literal with elided runtime scope on first iteration but not second iteration" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - var runtime = [1]i32{3}; comptime var i: usize = 0; inline while (i < 2) : (i += 1) { @@ -611,7 +606,6 @@ const hi1 = "hi"; const hi2 = hi1; test "const global shares pointer with other same one" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO try assertEqualPtrs(&hi1[0], &hi2[0]); comptime try expect(&hi1[0] == &hi2[0]); @@ -982,7 +976,6 @@ test "closure capture type of runtime-known parameter" { test "comptime break passing through runtime condition converted to runtime break" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO const S = struct { diff --git a/test/behavior/fn.zig b/test/behavior/fn.zig index 26185f6ac1ac6772caa19063a8694c558525727a..324a2ad24781596dda434092c539cc6ab84f0eb3 100644 --- a/test/behavior/fn.zig +++ b/test/behavior/fn.zig @@ -184,8 +184,6 @@ test "function with complex callconv and return type expressions" { } test "pass by non-copying value" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3); } @@ -211,8 +209,6 @@ fn addPointCoordsVar(pt: anytype) !i32 { } test "pass by non-copying value as method" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - var pt = Point2{ .x = 1, .y = 2 }; try expect(pt.addPointCoords() == 3); } @@ -227,8 +223,6 @@ const Point2 = struct { }; test "pass by non-copying value as method, which is generic" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - var pt = Point3{ .x = 1, .y = 2 }; try expect(pt.addPointCoords(i32) == 3); } @@ -244,8 +238,6 @@ const Point3 = struct { }; test "pass by non-copying value as method, at comptime" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - comptime { var pt = Point2{ .x = 1, .y = 2 }; try expect(pt.addPointCoords() == 3); @@ -409,7 +401,6 @@ test "ability to give comptime types and non comptime types to same parameter" { test "function with inferred error set but returning no error" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const S = struct { fn foo() !void {} diff --git a/test/behavior/fn_delegation.zig b/test/behavior/fn_delegation.zig index eee8f52490e1f55f7f84bb4805f2f2b513284395..25ec3dea1bb4385d6dba8227d55eea1e3d14710f 100644 --- a/test/behavior/fn_delegation.zig +++ b/test/behavior/fn_delegation.zig @@ -32,7 +32,6 @@ fn custom(comptime T: type, comptime num: u64) fn (T) u64 { } test "fn delegation" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO const foo = Foo{}; diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig index 2a18135fe0883dc19eba4dc3e7712a3e80694638..cd4e018be3a4751698ba7be10f0ab0ff12dffab8 100644 --- a/test/behavior/generics.zig +++ b/test/behavior/generics.zig @@ -206,7 +206,6 @@ fn foo2(arg: anytype) bool { test "generic struct" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; var a1 = GenNode(i32){ .value = 13, .next = null, diff --git a/test/behavior/optional.zig b/test/behavior/optional.zig index 6219a6a5be8320a9a3b24838da3e468c1c66b243..4e5eb5061cd74f98eed9d39aae9fec50c8927783 100644 --- a/test/behavior/optional.zig +++ b/test/behavior/optional.zig @@ -33,8 +33,6 @@ test "optional pointer to size zero struct" { } test "equality compare optional pointers" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - try testNullPtrsEql(); comptime try testNullPtrsEql(); } diff --git a/test/behavior/pointers.zig b/test/behavior/pointers.zig index 07bab40135be3ef0d41f2f87d067aa5deea0aed7..a47d931883d1db16bcefc4851177b5a1f6dacd59 100644 --- a/test/behavior/pointers.zig +++ b/test/behavior/pointers.zig @@ -85,7 +85,6 @@ test "assigning integer to C pointer" { test "C pointer comparison and arithmetic" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const S = struct { fn doTheTest() !void { @@ -477,7 +476,6 @@ test "element pointer arithmetic to slice" { } test "array slicing to slice" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO const S = struct { diff --git a/test/behavior/sizeof_and_typeof.zig b/test/behavior/sizeof_and_typeof.zig index 4421b59f9615191f6d14b5f12bc55d2dc9f53d40..6c7e16b5027295c5ea1f0b680c8253d97852dfb2 100644 --- a/test/behavior/sizeof_and_typeof.zig +++ b/test/behavior/sizeof_and_typeof.zig @@ -19,7 +19,6 @@ test "@sizeOf on compile-time types" { test "@TypeOf() with multiple arguments" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; { diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig index 18c769f27caed15b759f45f299de0e024f50c0d1..e2694759bb7951b662600d9d39d42f1129a8feed 100644 --- a/test/behavior/slice.zig +++ b/test/behavior/slice.zig @@ -207,7 +207,6 @@ test "slice string literal has correct type" { } test "result location zero sized array inside struct field implicit cast to slice" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO const E = struct { @@ -509,7 +508,6 @@ test "slice pointer-to-array null terminated" { test "slice pointer-to-array zero length" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO comptime { diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index 8370cd763e6869528acf8d4e336180cfedfe2db2..5cbb8e973e61b1b4a1ee64f1b6f39c34da6448dc 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -168,14 +168,12 @@ const MemberFnTestFoo = struct { }; test "call member function directly" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const instance = MemberFnTestFoo{ .x = 1234 }; const result = MemberFnTestFoo.member(instance); try expect(result == 1234); } test "store member function in variable" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const instance = MemberFnTestFoo{ .x = 1234 }; const memberFn = MemberFnTestFoo.member; const result = memberFn(instance); @@ -1000,8 +998,6 @@ test "tuple element initialized with fn call" { } test "struct with union field" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - const Value = struct { ref: u32 = 2, kind: union(enum) { diff --git a/test/behavior/type.zig b/test/behavior/type.zig index c543d4f969285869f59fcae985005214bf38d7ec..f4a32e5df0076ea38efb156d025215f1c91ac3fd 100644 --- a/test/behavior/type.zig +++ b/test/behavior/type.zig @@ -473,7 +473,6 @@ test "Type.Union" { test "Type.Union from Type.Enum" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const Tag = @Type(.{ .Enum = .{ @@ -503,7 +502,6 @@ test "Type.Union from Type.Enum" { test "Type.Union from regular enum" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const E = enum { working_as_expected }; const T = @Type(.{ diff --git a/test/behavior/type_info.zig b/test/behavior/type_info.zig index 32b9671f96504c33ad2bb38767d7d79b6bacbab5..7bbfbbc1ab0f335399175e7e328bc81855099ec3 100644 --- a/test/behavior/type_info.zig +++ b/test/behavior/type_info.zig @@ -381,7 +381,6 @@ extern fn foo(a: usize, b: bool, ...) callconv(.C) usize; extern fn fooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize; test "type info: generic function types" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend != .stage1) { diff --git a/test/behavior/union.zig b/test/behavior/union.zig index 7f17ff50c61a140c244829e64848030863327852..4daa9c1ee51d19dd2064cdd6c9b996f6f597eed4 100644 --- a/test/behavior/union.zig +++ b/test/behavior/union.zig @@ -1111,7 +1111,6 @@ test "union enum type gets a separate scope" { test "global variable struct contains union initialized to non-most-aligned field" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const T = struct { const U = union(enum) { diff --git a/test/behavior/void.zig b/test/behavior/void.zig index fc1972c506994f6e41b6c190bfe3a6c65443bb1a..66b969d0bf20746697708bc3473eb843938e74c2 100644 --- a/test/behavior/void.zig +++ b/test/behavior/void.zig @@ -42,8 +42,6 @@ test "void optional" { } test "void array as a local variable initializer" { - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - var x = [_]void{{}} ** 1004; _ = x[0]; } -- 2.54.0