aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/struct.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-04-22 11:39:12 -0400
committerGitHub <noreply@github.com>2022-04-22 11:39:12 -0400
commitcf20b97b713d992d84fdd8935ef935f61ed6d747 (patch)
treefb56d5d4bcac24817751b1def53a849d4e3939d5 /test/behavior/struct.zig
parent06310e3d4eb47fed88b175891cb5865bb050f020 (diff)
parent19e343b8d46725265eb72796bec506050e182900 (diff)
downloadzig-cf20b97b713d992d84fdd8935ef935f61ed6d747.tar.gz
zig-cf20b97b713d992d84fdd8935ef935f61ed6d747.zip
Merge pull request #11279 from igor84/s1_packed_struct
stage1: Fix packed structs (#2627, #10104)
Diffstat (limited to 'test/behavior/struct.zig')
-rw-r--r--test/behavior/struct.zig18
1 files changed, 14 insertions, 4 deletions
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig
index aea67005f4..f2b11937b0 100644
--- a/test/behavior/struct.zig
+++ b/test/behavior/struct.zig
@@ -422,11 +422,21 @@ test "packed struct 24bits" {
if (builtin.cpu.arch == .arm) return error.SkipZigTest; // TODO
comptime {
- try expect(@sizeOf(Foo24Bits) == 4);
- if (@sizeOf(usize) == 4) {
- try expect(@sizeOf(Foo96Bits) == 12);
+ // 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 {
- try expect(@sizeOf(Foo96Bits) == 16);
+ // Stage1 is now fixed and is expected to return right values
+ try expectEqual(@sizeOf(Foo24Bits), 3);
+ try expectEqual(@sizeOf(Foo96Bits), 12);
}
}