From d98869da430b0ab7054600dd0cb80a6d45ce0639 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 2 May 2022 14:59:31 -0700 Subject: [PATCH] behavior tests: fix wrong packed struct test case Packed structs are defined to have the same alignment and size as their backing integer. --- test/behavior/struct.zig | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index 89f6e20aa0de0caab9e2a54d5c6b5787fc47d9fc..b05126db622595c72d22c0f41946ca09ede46d59 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -421,21 +421,10 @@ test "packed struct 24bits" { if (builtin.cpu.arch == .arm) return error.SkipZigTest; // TODO comptime { - // TODO Remove if and leave only the else branch when it is also fixed in stage2 - if (builtin.zig_backend == .stage2_llvm or builtin.zig_backend == .stage2_x86 or - builtin.zig_backend == .stage2_riscv64) - { - // Stage 2 still expects the wrong values - try expect(@sizeOf(Foo24Bits) == 4); - if (@sizeOf(usize) == 4) { - try expect(@sizeOf(Foo96Bits) == 12); - } else { - try expect(@sizeOf(Foo96Bits) == 16); - } - } else { - // Stage1 is now fixed and is expected to return right values - try expectEqual(@sizeOf(Foo24Bits), 3); - try expectEqual(@sizeOf(Foo96Bits), 12); + // stage1 gets the wrong answer for sizeof + if (builtin.zig_backend != .stage1) { + std.debug.assert(@sizeOf(Foo24Bits) == @sizeOf(u24)); + std.debug.assert(@sizeOf(Foo96Bits) == @sizeOf(u96)); } } -- 2.54.0