authorgravatar for koachan@protonmail.comKoakuma <koachan@protonmail.com> 2022-07-10 16:42:51+07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-09-14 16:58:12-07:00
log0910cb6fcb889b82d9d10d28f800525a85ad6d91
tree05c1b652814711cf19d51c06b53925c29145e330
parent0e1c68d90a39142c7ba73aa5cb0dddaebe96b6c1

stage2: sparc64: Skip compile-failing tests for now


3 files changed, 49 insertions(+), 0 deletions(-)

test/behavior/math.zig+2
...@@ -1166,6 +1166,7 @@ test "remainder division" {...@@ -1166,6 +1166,7 @@ test "remainder division" {
1166 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1166 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1167 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1167 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1168 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1168 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1169 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1169 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1170 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1170 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/126021171 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/12602
11711172
...@@ -1198,6 +1199,7 @@ test "float remainder division using @rem" {...@@ -1198,6 +1199,7 @@ test "float remainder division using @rem" {
1198 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1199 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1199 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1200 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1200 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1201 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1202 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1201 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1203 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1202 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/126021204 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/12602
12031205
test/behavior/packed-struct.zig+4
...@@ -155,6 +155,7 @@ test "correct sizeOf and offsets in packed structs" {...@@ -155,6 +155,7 @@ test "correct sizeOf and offsets in packed structs" {
155 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO155 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
156 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO156 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
157 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO157 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
158 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
158159
159 const PStruct = packed struct {160 const PStruct = packed struct {
160 bool_a: bool,161 bool_a: bool,
...@@ -225,6 +226,7 @@ test "nested packed structs" {...@@ -225,6 +226,7 @@ test "nested packed structs" {
225 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO226 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
226 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
227 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO228 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
229 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
228230
229 const S1 = packed struct { a: u8, b: u8, c: u8 };231 const S1 = packed struct { a: u8, b: u8, c: u8 };
230232
...@@ -272,6 +274,7 @@ test "regular in irregular packed struct" {...@@ -272,6 +274,7 @@ test "regular in irregular packed struct" {
272 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;274 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
273 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;275 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
274 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;276 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
277 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
275278
276 const Irregular = packed struct {279 const Irregular = packed struct {
277 bar: Regular = Regular{},280 bar: Regular = Regular{},
...@@ -294,6 +297,7 @@ test "byte-aligned field pointer offsets" {...@@ -294,6 +297,7 @@ test "byte-aligned field pointer offsets" {
294 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;297 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
295 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
296 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;299 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
300 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
297301
298 const S = struct {302 const S = struct {
299 const A = packed struct {303 const A = packed struct {
test/behavior/struct.zig+43
...@@ -10,6 +10,7 @@ top_level_field: i32,...@@ -10,6 +10,7 @@ top_level_field: i32,
1010
11test "top level fields" {11test "top level fields" {
12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
13 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1314
14 var instance = @This(){15 var instance = @This(){
15 .top_level_field = 1234,16 .top_level_field = 1234,
...@@ -85,6 +86,7 @@ const StructFoo = struct {...@@ -85,6 +86,7 @@ const StructFoo = struct {
85test "structs" {86test "structs" {
86 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;87 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
87 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;88 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
89 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
8890
89 var foo: StructFoo = undefined;91 var foo: StructFoo = undefined;
90 @memset(@ptrCast([*]u8, &foo), 0, @sizeOf(StructFoo));92 @memset(@ptrCast([*]u8, &foo), 0, @sizeOf(StructFoo));
...@@ -103,6 +105,7 @@ fn testMutation(foo: *StructFoo) void {...@@ -103,6 +105,7 @@ fn testMutation(foo: *StructFoo) void {
103105
104test "struct byval assign" {106test "struct byval assign" {
105 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;107 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
108 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
106109
107 var foo1: StructFoo = undefined;110 var foo1: StructFoo = undefined;
108 var foo2: StructFoo = undefined;111 var foo2: StructFoo = undefined;
...@@ -136,6 +139,7 @@ fn returnEmptyStructInstance() StructWithNoFields {...@@ -136,6 +139,7 @@ fn returnEmptyStructInstance() StructWithNoFields {
136139
137test "fn call of struct field" {140test "fn call of struct field" {
138 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;141 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
142 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
139143
140 const Foo = struct {144 const Foo = struct {
141 ptr: fn () i32,145 ptr: fn () i32,
...@@ -191,6 +195,7 @@ const MemberFnRand = struct {...@@ -191,6 +195,7 @@ const MemberFnRand = struct {
191195
192test "return struct byval from function" {196test "return struct byval from function" {
193 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;197 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
198 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
194199
195 const bar = makeBar2(1234, 5678);200 const bar = makeBar2(1234, 5678);
196 try expect(bar.y == 5678);201 try expect(bar.y == 5678);
...@@ -238,6 +243,7 @@ test "usingnamespace within struct scope" {...@@ -238,6 +243,7 @@ test "usingnamespace within struct scope" {
238243
239test "struct field init with catch" {244test "struct field init with catch" {
240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;245 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
246 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
241247
242 const S = struct {248 const S = struct {
243 fn doTheTest() !void {249 fn doTheTest() !void {
...@@ -263,6 +269,7 @@ const blah: packed struct {...@@ -263,6 +269,7 @@ const blah: packed struct {
263} = undefined;269} = undefined;
264270
265test "bit field alignment" {271test "bit field alignment" {
272 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
266 try expect(@TypeOf(&blah.b) == *align(1:3:1) const u3);273 try expect(@TypeOf(&blah.b) == *align(1:3:1) const u3);
267}274}
268275
...@@ -278,6 +285,7 @@ const Val = struct {...@@ -278,6 +285,7 @@ const Val = struct {
278test "struct point to self" {285test "struct point to self" {
279 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;286 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
280 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO287 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
288 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
281289
282 var root: Node = undefined;290 var root: Node = undefined;
283 root.val.x = 1;291 root.val.x = 1;
...@@ -293,6 +301,7 @@ test "struct point to self" {...@@ -293,6 +301,7 @@ test "struct point to self" {
293301
294test "void struct fields" {302test "void struct fields" {
295 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
304 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
296305
297 const foo = VoidStructFieldsFoo{306 const foo = VoidStructFieldsFoo{
298 .a = void{},307 .a = void{},
...@@ -311,6 +320,7 @@ const VoidStructFieldsFoo = struct {...@@ -311,6 +320,7 @@ const VoidStructFieldsFoo = struct {
311test "return empty struct from fn" {320test "return empty struct from fn" {
312 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;321 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
313 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO322 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
323 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
314324
315 _ = testReturnEmptyStructFromFn();325 _ = testReturnEmptyStructFromFn();
316}326}
...@@ -322,6 +332,7 @@ fn testReturnEmptyStructFromFn() EmptyStruct2 {...@@ -322,6 +332,7 @@ fn testReturnEmptyStructFromFn() EmptyStruct2 {
322test "pass slice of empty struct to fn" {332test "pass slice of empty struct to fn" {
323 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;333 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
324 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO334 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
335 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
325336
326 try expect(testPassSliceOfEmptyStructToFn(&[_]EmptyStruct2{EmptyStruct2{}}) == 1);337 try expect(testPassSliceOfEmptyStructToFn(&[_]EmptyStruct2{EmptyStruct2{}}) == 1);
327}338}
...@@ -334,6 +345,7 @@ test "self-referencing struct via array member" {...@@ -334,6 +345,7 @@ test "self-referencing struct via array member" {
334 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO345 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
335 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO346 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
336 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO347 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
348 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
337349
338 const T = struct {350 const T = struct {
339 children: [1]*@This(),351 children: [1]*@This(),
...@@ -359,6 +371,7 @@ const EmptyStruct = struct {...@@ -359,6 +371,7 @@ const EmptyStruct = struct {
359test "align 1 field before self referential align 8 field as slice return type" {371test "align 1 field before self referential align 8 field as slice return type" {
360 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;372 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
361 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO373 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
374 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
362375
363 const result = alloc(Expr);376 const result = alloc(Expr);
364 try expect(result.len == 0);377 try expect(result.len == 0);
...@@ -384,6 +397,7 @@ test "packed struct" {...@@ -384,6 +397,7 @@ test "packed struct" {
384 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO397 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
385 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO398 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
386 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO399 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
400 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
387401
388 var foo = APackedStruct{402 var foo = APackedStruct{
389 .x = 1,403 .x = 1,
...@@ -412,6 +426,7 @@ test "packed struct 24bits" {...@@ -412,6 +426,7 @@ test "packed struct 24bits" {
412 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO426 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
413 if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO427 if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO
414 if (builtin.cpu.arch == .arm) return error.SkipZigTest; // TODO428 if (builtin.cpu.arch == .arm) return error.SkipZigTest; // TODO
429 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
415430
416 comptime {431 comptime {
417 // stage1 gets the wrong answer for sizeof432 // stage1 gets the wrong answer for sizeof
...@@ -458,6 +473,7 @@ test "runtime struct initialization of bitfield" {...@@ -458,6 +473,7 @@ test "runtime struct initialization of bitfield" {
458 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO473 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
459 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO474 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
460 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO475 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
476 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
461477
462 const s1 = Nibbles{478 const s1 = Nibbles{
463 .x = x1,479 .x = x1,
...@@ -502,6 +518,7 @@ test "packed struct fields are ordered from LSB to MSB" {...@@ -502,6 +518,7 @@ test "packed struct fields are ordered from LSB to MSB" {
502 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO518 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
503 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO519 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
504 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO520 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
521 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
505522
506 var all: u64 = 0x7765443322221111;523 var all: u64 = 0x7765443322221111;
507 var bytes: [8]u8 = undefined;524 var bytes: [8]u8 = undefined;
...@@ -523,6 +540,7 @@ test "implicit cast packed struct field to const ptr" {...@@ -523,6 +540,7 @@ test "implicit cast packed struct field to const ptr" {
523 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO540 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
524 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO541 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
525 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO542 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
543 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
526544
527 const LevelUpMove = packed struct {545 const LevelUpMove = packed struct {
528 move_id: u9,546 move_id: u9,
...@@ -543,6 +561,7 @@ test "zero-bit field in packed struct" {...@@ -543,6 +561,7 @@ test "zero-bit field in packed struct" {
543 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO561 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
544 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO562 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
545 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO563 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
564 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
546565
547 const S = packed struct {566 const S = packed struct {
548 x: u10,567 x: u10,
...@@ -554,6 +573,7 @@ test "zero-bit field in packed struct" {...@@ -554,6 +573,7 @@ test "zero-bit field in packed struct" {
554573
555test "packed struct with non-ABI-aligned field" {574test "packed struct with non-ABI-aligned field" {
556 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;575 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
576 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
557 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO577 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
558 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO578 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
559 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO579 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
...@@ -588,6 +608,7 @@ test "bit field access" {...@@ -588,6 +608,7 @@ test "bit field access" {
588 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO608 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
589 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO609 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
590 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO610 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
611 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
591612
592 var data = bit_field_1;613 var data = bit_field_1;
593 try expect(getA(&data) == 1);614 try expect(getA(&data) == 1);
...@@ -618,6 +639,7 @@ fn getC(data: *const BitField1) u2 {...@@ -618,6 +639,7 @@ fn getC(data: *const BitField1) u2 {
618test "default struct initialization fields" {639test "default struct initialization fields" {
619 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;640 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
620 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO641 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
642 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
621643
622 const S = struct {644 const S = struct {
623 a: i32 = 1234,645 a: i32 = 1234,
...@@ -645,6 +667,7 @@ test "packed array 24bits" {...@@ -645,6 +667,7 @@ test "packed array 24bits" {
645 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;667 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
646 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;668 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
647 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;669 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
670 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
648671
649 comptime {672 comptime {
650 try expect(@sizeOf([9]Foo32Bits) == 9 * 4);673 try expect(@sizeOf([9]Foo32Bits) == 9 * 4);
...@@ -701,6 +724,7 @@ const FooArray24Bits = packed struct {...@@ -701,6 +724,7 @@ const FooArray24Bits = packed struct {
701test "aligned array of packed struct" {724test "aligned array of packed struct" {
702 // Stage2 has different packed struct semantics.725 // Stage2 has different packed struct semantics.
703 if (builtin.zig_backend != .stage1) return error.SkipZigTest;726 if (builtin.zig_backend != .stage1) return error.SkipZigTest;
727 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
704728
705 comptime {729 comptime {
706 try expect(@sizeOf(FooStructAligned) == 2);730 try expect(@sizeOf(FooStructAligned) == 2);
...@@ -730,6 +754,7 @@ test "pointer to packed struct member in a stack variable" {...@@ -730,6 +754,7 @@ test "pointer to packed struct member in a stack variable" {
730 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO754 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
731 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO755 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
732 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO756 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
757 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
733758
734 const S = packed struct {759 const S = packed struct {
735 a: u2,760 a: u2,
...@@ -747,6 +772,7 @@ test "packed struct with u0 field access" {...@@ -747,6 +772,7 @@ test "packed struct with u0 field access" {
747 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO772 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
748 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO773 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
749 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO774 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
775 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
750776
751 const S = packed struct {777 const S = packed struct {
752 f0: u0,778 f0: u0,
...@@ -758,6 +784,7 @@ test "packed struct with u0 field access" {...@@ -758,6 +784,7 @@ test "packed struct with u0 field access" {
758test "access to global struct fields" {784test "access to global struct fields" {
759 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO785 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
760 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO786 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
787 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
761788
762 g_foo.bar.value = 42;789 g_foo.bar.value = 42;
763 try expect(g_foo.bar.value == 42);790 try expect(g_foo.bar.value == 42);
...@@ -782,6 +809,7 @@ test "packed struct with fp fields" {...@@ -782,6 +809,7 @@ test "packed struct with fp fields" {
782 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO809 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
783 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO810 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
784 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO811 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
812 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
785 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO813 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
786814
787 const S = packed struct {815 const S = packed struct {
...@@ -859,6 +887,7 @@ test "packed struct field passed to generic function" {...@@ -859,6 +887,7 @@ test "packed struct field passed to generic function" {
859 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO887 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
860 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO888 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
861 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO889 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
890 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
862891
863 const S = struct {892 const S = struct {
864 const P = packed struct {893 const P = packed struct {
...@@ -975,6 +1004,7 @@ test "tuple element initialized with fn call" {...@@ -975,6 +1004,7 @@ test "tuple element initialized with fn call" {
975 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1004 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
976 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1005 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
977 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1006 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1007 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9781008
979 const S = struct {1009 const S = struct {
980 fn doTheTest() !void {1010 fn doTheTest() !void {
...@@ -1012,6 +1042,7 @@ test "type coercion of anon struct literal to struct" {...@@ -1012,6 +1042,7 @@ test "type coercion of anon struct literal to struct" {
1012 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1042 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1013 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1043 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1014 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1044 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1045 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10151046
1016 const S = struct {1047 const S = struct {
1017 const S2 = struct {1048 const S2 = struct {
...@@ -1050,6 +1081,7 @@ test "type coercion of pointer to anon struct literal to pointer to struct" {...@@ -1050,6 +1081,7 @@ test "type coercion of pointer to anon struct literal to pointer to struct" {
1050 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1081 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1051 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1082 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1052 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1083 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1084 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10531085
1054 const S = struct {1086 const S = struct {
1055 const S2 = struct {1087 const S2 = struct {
...@@ -1089,6 +1121,7 @@ test "packed struct with undefined initializers" {...@@ -1089,6 +1121,7 @@ test "packed struct with undefined initializers" {
1089 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1121 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1090 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1122 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1091 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1123 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10921125
1093 const S = struct {1126 const S = struct {
1094 const P = packed struct {1127 const P = packed struct {
...@@ -1119,6 +1152,7 @@ test "for loop over pointers to struct, getting field from struct pointer" {...@@ -1119,6 +1152,7 @@ test "for loop over pointers to struct, getting field from struct pointer" {
1119 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1152 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1120 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1153 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1121 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1154 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1155 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11221156
1123 const S = struct {1157 const S = struct {
1124 const Foo = struct {1158 const Foo = struct {
...@@ -1160,6 +1194,7 @@ test "anon init through error unions and optionals" {...@@ -1160,6 +1194,7 @@ test "anon init through error unions and optionals" {
1160 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1194 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1195 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1162 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1196 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1197 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11631198
1164 const S = struct {1199 const S = struct {
1165 a: u32,1200 a: u32,
...@@ -1188,6 +1223,7 @@ test "anon init through optional" {...@@ -1188,6 +1223,7 @@ test "anon init through optional" {
1188 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1223 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1189 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1224 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1190 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1225 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1226 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11911227
1192 const S = struct {1228 const S = struct {
1193 a: u32,1229 a: u32,
...@@ -1209,6 +1245,7 @@ test "anon init through error union" {...@@ -1209,6 +1245,7 @@ test "anon init through error union" {
1209 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1245 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1210 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1246 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1211 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1247 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1248 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12121249
1213 const S = struct {1250 const S = struct {
1214 a: u32,1251 a: u32,
...@@ -1230,6 +1267,7 @@ test "typed init through error unions and optionals" {...@@ -1230,6 +1267,7 @@ test "typed init through error unions and optionals" {
1230 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1267 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1268 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1232 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1269 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1270 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12331271
1234 const S = struct {1272 const S = struct {
1235 a: u32,1273 a: u32,
...@@ -1254,6 +1292,7 @@ test "typed init through error unions and optionals" {...@@ -1254,6 +1292,7 @@ test "typed init through error unions and optionals" {
12541292
1255test "initialize struct with empty literal" {1293test "initialize struct with empty literal" {
1256 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1294 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1295 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12571296
1258 const S = struct { x: i32 = 1234 };1297 const S = struct { x: i32 = 1234 };
1259 var s: S = .{};1298 var s: S = .{};
...@@ -1262,6 +1301,7 @@ test "initialize struct with empty literal" {...@@ -1262,6 +1301,7 @@ test "initialize struct with empty literal" {
12621301
1263test "loading a struct pointer perfoms a copy" {1302test "loading a struct pointer perfoms a copy" {
1264 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1304 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12651305
1266 const S = struct {1306 const S = struct {
1267 a: i32,1307 a: i32,
...@@ -1295,6 +1335,7 @@ test "packed struct aggregate init" {...@@ -1295,6 +1335,7 @@ test "packed struct aggregate init" {
1295 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO1335 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1296 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1336 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1297 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1337 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1338 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12981339
1299 const S = struct {1340 const S = struct {
1300 fn foo(a: i2, b: i6) u8 {1341 fn foo(a: i2, b: i6) u8 {
...@@ -1315,6 +1356,7 @@ test "packed struct field access via pointer" {...@@ -1315,6 +1356,7 @@ test "packed struct field access via pointer" {
1315 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1356 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1316 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1357 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1317 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1358 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1359 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13181360
1319 const S = struct {1361 const S = struct {
1320 fn doTheTest() !void {1362 fn doTheTest() !void {
...@@ -1355,6 +1397,7 @@ test "store to comptime field" {...@@ -1355,6 +1397,7 @@ test "store to comptime field" {
13551397
1356test "struct field init value is size of the struct" {1398test "struct field init value is size of the struct" {
1357 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1399 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1400 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13581401
1359 const namespace = struct {1402 const namespace = struct {
1360 const S = extern struct {1403 const S = extern struct {