| ... | ... | @@ -10,6 +10,7 @@ top_level_field: i32, |
| 10 | 10 | |
| 11 | 11 | test "top level fields" { |
| 12 | 12 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 13 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 13 | 14 | |
| 14 | 15 | var instance = @This(){ |
| 15 | 16 | .top_level_field = 1234, |
| ... | ... | @@ -85,6 +86,7 @@ const StructFoo = struct { |
| 85 | 86 | test "structs" { |
| 86 | 87 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 87 | 88 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 89 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 88 | 90 | |
| 89 | 91 | var foo: StructFoo = undefined; |
| 90 | 92 | @memset(@ptrCast([*]u8, &foo), 0, @sizeOf(StructFoo)); |
| ... | ... | @@ -103,6 +105,7 @@ fn testMutation(foo: *StructFoo) void { |
| 103 | 105 | |
| 104 | 106 | test "struct byval assign" { |
| 105 | 107 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 108 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 106 | 109 | |
| 107 | 110 | var foo1: StructFoo = undefined; |
| 108 | 111 | var foo2: StructFoo = undefined; |
| ... | ... | @@ -136,6 +139,7 @@ fn returnEmptyStructInstance() StructWithNoFields { |
| 136 | 139 | |
| 137 | 140 | test "fn call of struct field" { |
| 138 | 141 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 142 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 139 | 143 | |
| 140 | 144 | const Foo = struct { |
| 141 | 145 | ptr: fn () i32, |
| ... | ... | @@ -191,6 +195,7 @@ const MemberFnRand = struct { |
| 191 | 195 | |
| 192 | 196 | test "return struct byval from function" { |
| 193 | 197 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 198 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 194 | 199 | |
| 195 | 200 | const bar = makeBar2(1234, 5678); |
| 196 | 201 | try expect(bar.y == 5678); |
| ... | ... | @@ -238,6 +243,7 @@ test "usingnamespace within struct scope" { |
| 238 | 243 | |
| 239 | 244 | test "struct field init with catch" { |
| 240 | 245 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 246 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 241 | 247 | |
| 242 | 248 | const S = struct { |
| 243 | 249 | fn doTheTest() !void { |
| ... | ... | @@ -263,6 +269,7 @@ const blah: packed struct { |
| 263 | 269 | } = undefined; |
| 264 | 270 | |
| 265 | 271 | test "bit field alignment" { |
| 272 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 266 | 273 | try expect(@TypeOf(&blah.b) == *align(1:3:1) const u3); |
| 267 | 274 | } |
| 268 | 275 | |
| ... | ... | @@ -278,6 +285,7 @@ const Val = struct { |
| 278 | 285 | test "struct point to self" { |
| 279 | 286 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 280 | 287 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 288 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 281 | 289 | |
| 282 | 290 | var root: Node = undefined; |
| 283 | 291 | root.val.x = 1; |
| ... | ... | @@ -293,6 +301,7 @@ test "struct point to self" { |
| 293 | 301 | |
| 294 | 302 | test "void struct fields" { |
| 295 | 303 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 304 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 296 | 305 | |
| 297 | 306 | const foo = VoidStructFieldsFoo{ |
| 298 | 307 | .a = void{}, |
| ... | ... | @@ -311,6 +320,7 @@ const VoidStructFieldsFoo = struct { |
| 311 | 320 | test "return empty struct from fn" { |
| 312 | 321 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 313 | 322 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 323 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 314 | 324 | |
| 315 | 325 | _ = testReturnEmptyStructFromFn(); |
| 316 | 326 | } |
| ... | ... | @@ -322,6 +332,7 @@ fn testReturnEmptyStructFromFn() EmptyStruct2 { |
| 322 | 332 | test "pass slice of empty struct to fn" { |
| 323 | 333 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 324 | 334 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 335 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 325 | 336 | |
| 326 | 337 | try expect(testPassSliceOfEmptyStructToFn(&[_]EmptyStruct2{EmptyStruct2{}}) == 1); |
| 327 | 338 | } |
| ... | ... | @@ -334,6 +345,7 @@ test "self-referencing struct via array member" { |
| 334 | 345 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 335 | 346 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 336 | 347 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 348 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 337 | 349 | |
| 338 | 350 | const T = struct { |
| 339 | 351 | children: [1]*@This(), |
| ... | ... | @@ -359,6 +371,7 @@ const EmptyStruct = struct { |
| 359 | 371 | test "align 1 field before self referential align 8 field as slice return type" { |
| 360 | 372 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 361 | 373 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 374 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 362 | 375 | |
| 363 | 376 | const result = alloc(Expr); |
| 364 | 377 | try expect(result.len == 0); |
| ... | ... | @@ -384,6 +397,7 @@ test "packed struct" { |
| 384 | 397 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 385 | 398 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 386 | 399 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 400 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 387 | 401 | |
| 388 | 402 | var foo = APackedStruct{ |
| 389 | 403 | .x = 1, |
| ... | ... | @@ -412,6 +426,7 @@ test "packed struct 24bits" { |
| 412 | 426 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 413 | 427 | if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO |
| 414 | 428 | if (builtin.cpu.arch == .arm) return error.SkipZigTest; // TODO |
| 429 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 415 | 430 | |
| 416 | 431 | comptime { |
| 417 | 432 | // stage1 gets the wrong answer for sizeof |
| ... | ... | @@ -458,6 +473,7 @@ test "runtime struct initialization of bitfield" { |
| 458 | 473 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 459 | 474 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 460 | 475 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 476 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 461 | 477 | |
| 462 | 478 | const s1 = Nibbles{ |
| 463 | 479 | .x = x1, |
| ... | ... | @@ -502,6 +518,7 @@ test "packed struct fields are ordered from LSB to MSB" { |
| 502 | 518 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 503 | 519 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 504 | 520 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 521 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 505 | 522 | |
| 506 | 523 | var all: u64 = 0x7765443322221111; |
| 507 | 524 | var bytes: [8]u8 = undefined; |
| ... | ... | @@ -523,6 +540,7 @@ test "implicit cast packed struct field to const ptr" { |
| 523 | 540 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 524 | 541 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 525 | 542 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 543 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 526 | 544 | |
| 527 | 545 | const LevelUpMove = packed struct { |
| 528 | 546 | move_id: u9, |
| ... | ... | @@ -543,6 +561,7 @@ test "zero-bit field in packed struct" { |
| 543 | 561 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 544 | 562 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 545 | 563 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 564 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 546 | 565 | |
| 547 | 566 | const S = packed struct { |
| 548 | 567 | x: u10, |
| ... | ... | @@ -554,6 +573,7 @@ test "zero-bit field in packed struct" { |
| 554 | 573 | |
| 555 | 574 | test "packed struct with non-ABI-aligned field" { |
| 556 | 575 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 576 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 557 | 577 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 558 | 578 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 559 | 579 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| ... | ... | @@ -588,6 +608,7 @@ test "bit field access" { |
| 588 | 608 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 589 | 609 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 590 | 610 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 611 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 591 | 612 | |
| 592 | 613 | var data = bit_field_1; |
| 593 | 614 | try expect(getA(&data) == 1); |
| ... | ... | @@ -618,6 +639,7 @@ fn getC(data: *const BitField1) u2 { |
| 618 | 639 | test "default struct initialization fields" { |
| 619 | 640 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 620 | 641 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 642 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 621 | 643 | |
| 622 | 644 | const S = struct { |
| 623 | 645 | a: i32 = 1234, |
| ... | ... | @@ -645,6 +667,7 @@ test "packed array 24bits" { |
| 645 | 667 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 646 | 668 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 647 | 669 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 670 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 648 | 671 | |
| 649 | 672 | comptime { |
| 650 | 673 | try expect(@sizeOf([9]Foo32Bits) == 9 * 4); |
| ... | ... | @@ -701,6 +724,7 @@ const FooArray24Bits = packed struct { |
| 701 | 724 | test "aligned array of packed struct" { |
| 702 | 725 | // Stage2 has different packed struct semantics. |
| 703 | 726 | if (builtin.zig_backend != .stage1) return error.SkipZigTest; |
| 727 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 704 | 728 | |
| 705 | 729 | comptime { |
| 706 | 730 | try expect(@sizeOf(FooStructAligned) == 2); |
| ... | ... | @@ -730,6 +754,7 @@ test "pointer to packed struct member in a stack variable" { |
| 730 | 754 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 731 | 755 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 732 | 756 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 757 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 733 | 758 | |
| 734 | 759 | const S = packed struct { |
| 735 | 760 | a: u2, |
| ... | ... | @@ -747,6 +772,7 @@ test "packed struct with u0 field access" { |
| 747 | 772 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 748 | 773 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 749 | 774 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 775 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 750 | 776 | |
| 751 | 777 | const S = packed struct { |
| 752 | 778 | f0: u0, |
| ... | ... | @@ -758,6 +784,7 @@ test "packed struct with u0 field access" { |
| 758 | 784 | test "access to global struct fields" { |
| 759 | 785 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 760 | 786 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 787 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 761 | 788 | |
| 762 | 789 | g_foo.bar.value = 42; |
| 763 | 790 | try expect(g_foo.bar.value == 42); |
| ... | ... | @@ -782,6 +809,7 @@ test "packed struct with fp fields" { |
| 782 | 809 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 783 | 810 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 784 | 811 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 812 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 785 | 813 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 786 | 814 | |
| 787 | 815 | const S = packed struct { |
| ... | ... | @@ -859,6 +887,7 @@ test "packed struct field passed to generic function" { |
| 859 | 887 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 860 | 888 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 861 | 889 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 890 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 862 | 891 | |
| 863 | 892 | const S = struct { |
| 864 | 893 | const P = packed struct { |
| ... | ... | @@ -975,6 +1004,7 @@ test "tuple element initialized with fn call" { |
| 975 | 1004 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 976 | 1005 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 977 | 1006 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1007 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 978 | 1008 | |
| 979 | 1009 | const S = struct { |
| 980 | 1010 | fn doTheTest() !void { |
| ... | ... | @@ -1012,6 +1042,7 @@ test "type coercion of anon struct literal to struct" { |
| 1012 | 1042 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1013 | 1043 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1014 | 1044 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1045 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1015 | 1046 | |
| 1016 | 1047 | const S = struct { |
| 1017 | 1048 | const S2 = struct { |
| ... | ... | @@ -1050,6 +1081,7 @@ test "type coercion of pointer to anon struct literal to pointer to struct" { |
| 1050 | 1081 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1051 | 1082 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1052 | 1083 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1084 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1053 | 1085 | |
| 1054 | 1086 | const S = struct { |
| 1055 | 1087 | const S2 = struct { |
| ... | ... | @@ -1089,6 +1121,7 @@ test "packed struct with undefined initializers" { |
| 1089 | 1121 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1090 | 1122 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1091 | 1123 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1124 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1092 | 1125 | |
| 1093 | 1126 | const S = struct { |
| 1094 | 1127 | const P = packed struct { |
| ... | ... | @@ -1119,6 +1152,7 @@ test "for loop over pointers to struct, getting field from struct pointer" { |
| 1119 | 1152 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1120 | 1153 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1121 | 1154 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1155 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1122 | 1156 | |
| 1123 | 1157 | const S = struct { |
| 1124 | 1158 | const Foo = struct { |
| ... | ... | @@ -1160,6 +1194,7 @@ test "anon init through error unions and optionals" { |
| 1160 | 1194 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1161 | 1195 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1162 | 1196 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1197 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1163 | 1198 | |
| 1164 | 1199 | const S = struct { |
| 1165 | 1200 | a: u32, |
| ... | ... | @@ -1188,6 +1223,7 @@ test "anon init through optional" { |
| 1188 | 1223 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1189 | 1224 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1190 | 1225 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1226 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1191 | 1227 | |
| 1192 | 1228 | const S = struct { |
| 1193 | 1229 | a: u32, |
| ... | ... | @@ -1209,6 +1245,7 @@ test "anon init through error union" { |
| 1209 | 1245 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1210 | 1246 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1211 | 1247 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1248 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1212 | 1249 | |
| 1213 | 1250 | const S = struct { |
| 1214 | 1251 | a: u32, |
| ... | ... | @@ -1230,6 +1267,7 @@ test "typed init through error unions and optionals" { |
| 1230 | 1267 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1231 | 1268 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1232 | 1269 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1270 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1233 | 1271 | |
| 1234 | 1272 | const S = struct { |
| 1235 | 1273 | a: u32, |
| ... | ... | @@ -1254,6 +1292,7 @@ test "typed init through error unions and optionals" { |
| 1254 | 1292 | |
| 1255 | 1293 | test "initialize struct with empty literal" { |
| 1256 | 1294 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1295 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1257 | 1296 | |
| 1258 | 1297 | const S = struct { x: i32 = 1234 }; |
| 1259 | 1298 | var s: S = .{}; |
| ... | ... | @@ -1262,6 +1301,7 @@ test "initialize struct with empty literal" { |
| 1262 | 1301 | |
| 1263 | 1302 | test "loading a struct pointer perfoms a copy" { |
| 1264 | 1303 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1304 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1265 | 1305 | |
| 1266 | 1306 | const S = struct { |
| 1267 | 1307 | a: i32, |
| ... | ... | @@ -1295,6 +1335,7 @@ test "packed struct aggregate init" { |
| 1295 | 1335 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1296 | 1336 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1297 | 1337 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1338 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1298 | 1339 | |
| 1299 | 1340 | const S = struct { |
| 1300 | 1341 | fn foo(a: i2, b: i6) u8 { |
| ... | ... | @@ -1315,6 +1356,7 @@ test "packed struct field access via pointer" { |
| 1315 | 1356 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1316 | 1357 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1317 | 1358 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1359 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1318 | 1360 | |
| 1319 | 1361 | const S = struct { |
| 1320 | 1362 | fn doTheTest() !void { |
| ... | ... | @@ -1355,6 +1397,7 @@ test "store to comptime field" { |
| 1355 | 1397 | |
| 1356 | 1398 | test "struct field init value is size of the struct" { |
| 1357 | 1399 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1400 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1358 | 1401 | |
| 1359 | 1402 | const namespace = struct { |
| 1360 | 1403 | const S = extern struct { |