authorgravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2022-11-30 17:55:33+01:00
committergravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2022-11-30 21:01:09+01:00
log090deae41dbb79bcbe6a06d0bea0413f21576881
tree9f9d33dfcc05756b31816182c2022c386f1487dd
parent3933a4bac5179c30cb6a08d6f1e42f9b44ce9599
signaturelock-open Commit is signed but in an unrecognized format.

wasm: enable behavior tests for packed structs


8 files changed, 3 insertions(+), 34 deletions(-)

src/codegen.zig+2-2
...@@ -570,8 +570,8 @@ pub fn generateSymbol(...@@ -570,8 +570,8 @@ pub fn generateSymbol(
570 // pointer may point to a decl which must be marked used570 // pointer may point to a decl which must be marked used
571 // but can also result in a relocation. Therefore we handle those seperately.571 // but can also result in a relocation. Therefore we handle those seperately.
572 if (field_ty.zigTypeTag() == .Pointer) {572 if (field_ty.zigTypeTag() == .Pointer) {
573 std.debug.print("Hit!\n", .{});573 const field_size = math.cast(usize, field_ty.abiSize(target)) orelse return error.Overflow;
574 var tmp_list = try std.ArrayList(u8).initCapacity(code.allocator, field_ty.abiSize(target));574 var tmp_list = try std.ArrayList(u8).initCapacity(code.allocator, field_size);
575 defer tmp_list.deinit();575 defer tmp_list.deinit();
576 switch (try generateSymbol(bin_file, src_loc, .{576 switch (try generateSymbol(bin_file, src_loc, .{
577 .ty = field_ty,577 .ty = field_ty,
src/link/Wasm.zig+1-1
...@@ -1841,7 +1841,7 @@ fn setupStart(wasm: *Wasm) !void {...@@ -1841,7 +1841,7 @@ fn setupStart(wasm: *Wasm) !void {
1841/// Sets up the memory section of the wasm module, as well as the stack.1841/// Sets up the memory section of the wasm module, as well as the stack.
1842fn setupMemory(wasm: *Wasm) !void {1842fn setupMemory(wasm: *Wasm) !void {
1843 log.debug("Setting up memory layout", .{});1843 log.debug("Setting up memory layout", .{});
1844 const page_size = std.wasm.page_size; // 65kb1844 const page_size = std.wasm.page_size; // 64kb
1845 // Use the user-provided stack size or else we use 1MB by default1845 // Use the user-provided stack size or else we use 1MB by default
1846 const stack_size = wasm.base.options.stack_size_override orelse page_size * 16;1846 const stack_size = wasm.base.options.stack_size_override orelse page_size * 16;
1847 const stack_alignment = 16; // wasm's stack alignment as specified by tool-convention1847 const stack_alignment = 16; // wasm's stack alignment as specified by tool-convention
test/behavior/bitcast.zig-6
...@@ -18,7 +18,6 @@ test "@bitCast iX -> uX (32, 64)" {...@@ -18,7 +18,6 @@ test "@bitCast iX -> uX (32, 64)" {
18}18}
1919
20test "@bitCast iX -> uX (8, 16, 128)" {20test "@bitCast iX -> uX (8, 16, 128)" {
21 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
22 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;21 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
23 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;22 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
24 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;23 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -160,7 +159,6 @@ test "@bitCast packed structs at runtime and comptime" {...@@ -160,7 +159,6 @@ test "@bitCast packed structs at runtime and comptime" {
160 // stage1 gets the wrong answer for a lot of targets159 // stage1 gets the wrong answer for a lot of targets
161 return error.SkipZigTest;160 return error.SkipZigTest;
162 }161 }
163 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
164 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;162 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
165 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;163 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
166 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;164 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -187,7 +185,6 @@ test "@bitCast packed structs at runtime and comptime" {...@@ -187,7 +185,6 @@ test "@bitCast packed structs at runtime and comptime" {
187}185}
188186
189test "@bitCast extern structs at runtime and comptime" {187test "@bitCast extern structs at runtime and comptime" {
190 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
191 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;188 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
192189
193 const Full = extern struct {190 const Full = extern struct {
...@@ -218,7 +215,6 @@ test "@bitCast extern structs at runtime and comptime" {...@@ -218,7 +215,6 @@ test "@bitCast extern structs at runtime and comptime" {
218}215}
219216
220test "bitcast packed struct to integer and back" {217test "bitcast packed struct to integer and back" {
221 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
222 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;218 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
223 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;219 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
224 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;220 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -257,8 +253,6 @@ test "implicit cast to error union by returning" {...@@ -257,8 +253,6 @@ test "implicit cast to error union by returning" {
257}253}
258254
259test "bitcast packed struct literal to byte" {255test "bitcast packed struct literal to byte" {
260 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
261
262 const Foo = packed struct {256 const Foo = packed struct {
263 value: u8,257 value: u8,
264 };258 };
test/behavior/bugs/12776.zig-1
...@@ -31,7 +31,6 @@ const CPU = packed struct {...@@ -31,7 +31,6 @@ const CPU = packed struct {
31test {31test {
32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
33 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;33 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
34 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
35 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;34 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3635
37 var ram = try RAM.new();36 var ram = try RAM.new();
test/behavior/bugs/9584.zig-1
...@@ -44,7 +44,6 @@ pub fn b(x: *X) !void {...@@ -44,7 +44,6 @@ pub fn b(x: *X) !void {
44}44}
4545
46test {46test {
47 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO47 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO48 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
50 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO49 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/enum.zig-2
...@@ -1146,8 +1146,6 @@ test "size of enum with only one tag which has explicit integer tag type" {...@@ -1146,8 +1146,6 @@ test "size of enum with only one tag which has explicit integer tag type" {
1146}1146}
11471147
1148test "switch on an extern enum with negative value" {1148test "switch on an extern enum with negative value" {
1149 if (@import("builtin").zig_backend == .stage2_wasm) return error.SkipZigTest;
1150
1151 const Foo = enum(c_int) {1149 const Foo = enum(c_int) {
1152 Bar = -1,1150 Bar = -1,
1153 };1151 };
test/behavior/packed-struct.zig-9
...@@ -150,7 +150,6 @@ test "consistent size of packed structs" {...@@ -150,7 +150,6 @@ test "consistent size of packed structs" {
150150
151test "correct sizeOf and offsets in packed structs" {151test "correct sizeOf and offsets in packed structs" {
152 if (builtin.zig_backend == .stage1) return error.SkipZigTest;152 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
153 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
154 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO153 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
155 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO154 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
156 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO155 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
...@@ -220,7 +219,6 @@ test "correct sizeOf and offsets in packed structs" {...@@ -220,7 +219,6 @@ test "correct sizeOf and offsets in packed structs" {
220219
221test "nested packed structs" {220test "nested packed structs" {
222 if (builtin.zig_backend == .stage1) return error.SkipZigTest;221 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
223 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
224 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO222 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
225 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO223 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
226 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO224 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
...@@ -267,7 +265,6 @@ test "nested packed structs" {...@@ -267,7 +265,6 @@ test "nested packed structs" {
267}265}
268266
269test "regular in irregular packed struct" {267test "regular in irregular packed struct" {
270 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
271 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;268 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
272 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;269 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
273 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;270 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -289,7 +286,6 @@ test "regular in irregular packed struct" {...@@ -289,7 +286,6 @@ test "regular in irregular packed struct" {
289286
290test "byte-aligned field pointer offsets" {287test "byte-aligned field pointer offsets" {
291 if (builtin.zig_backend == .stage1) return error.SkipZigTest;288 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
292 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
293 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;289 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
294 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;290 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
295 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;291 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -395,7 +391,6 @@ test "load pointer from packed struct" {...@@ -395,7 +391,6 @@ test "load pointer from packed struct" {
395 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;391 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
396 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;392 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
397 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;393 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
398 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
399394
400 const A = struct {395 const A = struct {
401 index: u16,396 index: u16,
...@@ -413,7 +408,6 @@ test "load pointer from packed struct" {...@@ -413,7 +408,6 @@ test "load pointer from packed struct" {
413}408}
414409
415test "@ptrToInt on a packed struct field" {410test "@ptrToInt on a packed struct field" {
416 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
417 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;411 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
418 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;412 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
419 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;413 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -437,7 +431,6 @@ test "optional pointer in packed struct" {...@@ -437,7 +431,6 @@ test "optional pointer in packed struct" {
437 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;431 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
438 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;432 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
439 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;433 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
440 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
441434
442 const T = packed struct { ptr: ?*const u8 };435 const T = packed struct { ptr: ?*const u8 };
443 var n: u8 = 0;436 var n: u8 = 0;
...@@ -566,7 +559,6 @@ test "nested packed struct field access test" {...@@ -566,7 +559,6 @@ test "nested packed struct field access test" {
566test "runtime init of unnamed packed struct type" {559test "runtime init of unnamed packed struct type" {
567 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;560 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
568 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;561 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
569 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
570 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;562 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
571563
572 var z: u8 = 123;564 var z: u8 = 123;
...@@ -582,7 +574,6 @@ test "packed struct passed to callconv(.C) function" {...@@ -582,7 +574,6 @@ test "packed struct passed to callconv(.C) function" {
582 if (builtin.zig_backend == .stage1) return error.SkipZigTest;574 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
583 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;575 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
584 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;576 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
585 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
586 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;577 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
587578
588 const S = struct {579 const S = struct {
test/behavior/struct.zig-12
...@@ -386,7 +386,6 @@ const APackedStruct = packed struct {...@@ -386,7 +386,6 @@ const APackedStruct = packed struct {
386386
387test "packed struct" {387test "packed struct" {
388 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;388 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
389 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
390 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO389 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
391 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO390 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
392 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO391 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -460,7 +459,6 @@ test "packed struct 24bits" {...@@ -460,7 +459,6 @@ test "packed struct 24bits" {
460459
461test "runtime struct initialization of bitfield" {460test "runtime struct initialization of bitfield" {
462 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;461 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
463 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
464 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO462 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
465 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO463 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
466 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO464 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -504,7 +502,6 @@ test "packed struct fields are ordered from LSB to MSB" {...@@ -504,7 +502,6 @@ test "packed struct fields are ordered from LSB to MSB" {
504 return error.SkipZigTest;502 return error.SkipZigTest;
505 }503 }
506 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO504 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
507 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
508 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO505 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
509 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO506 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
510 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO507 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -525,7 +522,6 @@ test "packed struct fields are ordered from LSB to MSB" {...@@ -525,7 +522,6 @@ test "packed struct fields are ordered from LSB to MSB" {
525522
526test "implicit cast packed struct field to const ptr" {523test "implicit cast packed struct field to const ptr" {
527 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;524 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
528 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
529 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO525 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
530 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO526 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
531 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO527 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -546,7 +542,6 @@ test "implicit cast packed struct field to const ptr" {...@@ -546,7 +542,6 @@ test "implicit cast packed struct field to const ptr" {
546}542}
547543
548test "zero-bit field in packed struct" {544test "zero-bit field in packed struct" {
549 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
550 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO545 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
551 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO546 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
552547
...@@ -591,7 +586,6 @@ const bit_field_1 = BitField1{...@@ -591,7 +586,6 @@ const bit_field_1 = BitField1{
591586
592test "bit field access" {587test "bit field access" {
593 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;588 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
594 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
595 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO589 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
596 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO590 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
597 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO591 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -647,7 +641,6 @@ test "default struct initialization fields" {...@@ -647,7 +641,6 @@ test "default struct initialization fields" {
647641
648test "packed array 24bits" {642test "packed array 24bits" {
649 if (builtin.zig_backend == .stage1) return error.SkipZigTest;643 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
650 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
651 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;644 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
652 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;645 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
653 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;646 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
...@@ -735,7 +728,6 @@ const FooArrayOfAligned = packed struct {...@@ -735,7 +728,6 @@ const FooArrayOfAligned = packed struct {
735};728};
736729
737test "pointer to packed struct member in a stack variable" {730test "pointer to packed struct member in a stack variable" {
738 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
739 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO731 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
740 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO732 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
741 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO733 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
...@@ -754,7 +746,6 @@ test "pointer to packed struct member in a stack variable" {...@@ -754,7 +746,6 @@ test "pointer to packed struct member in a stack variable" {
754}746}
755747
756test "packed struct with u0 field access" {748test "packed struct with u0 field access" {
757 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
758 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO749 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
759 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO750 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
760751
...@@ -864,7 +855,6 @@ test "non-packed struct with u128 entry in union" {...@@ -864,7 +855,6 @@ test "non-packed struct with u128 entry in union" {
864}855}
865856
866test "packed struct field passed to generic function" {857test "packed struct field passed to generic function" {
867 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
868 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO858 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
869 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO859 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
870 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO860 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
...@@ -1298,7 +1288,6 @@ test "packed struct aggregate init" {...@@ -1298,7 +1288,6 @@ test "packed struct aggregate init" {
1298 // stage1 fails this test on mips1288 // stage1 fails this test on mips
1299 return error.SkipZigTest;1289 return error.SkipZigTest;
1300 }1290 }
1301 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1302 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1291 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1292 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1304 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1293 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
...@@ -1319,7 +1308,6 @@ test "packed struct aggregate init" {...@@ -1319,7 +1308,6 @@ test "packed struct aggregate init" {
1319}1308}
13201309
1321test "packed struct field access via pointer" {1310test "packed struct field access via pointer" {
1322 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1323 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1311 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1324 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1312 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1325 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1313 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO