authorgravatar for yujiri@disroot.orgEvin Yulo <yujiri@disroot.org> 2022-12-14 18:43:48-05:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-12-16 18:19:32+02:00
logb5d1df091b3c2b8943a1bdece5d48a4355489a4e
treefd6ab7457fac0b087015a8040ce67e9ca82bbb30
parentaa3964477f662ea5487aa4a1e4595d174e49a89d

Add test for #12571

Closes #12571

2 files changed, 23 insertions(+), 0 deletions(-)

test/behavior.zig+1
......@@ -100,6 +100,7 @@ test {
100100 _ = @import("behavior/bugs/12488.zig");
101101 _ = @import("behavior/bugs/12498.zig");
102102 _ = @import("behavior/bugs/12551.zig");
103 _ = @import("behavior/bugs/12571.zig");
103104 _ = @import("behavior/bugs/12644.zig");
104105 _ = @import("behavior/bugs/12680.zig");
105106 _ = @import("behavior/bugs/12723.zig");
test/behavior/bugs/12571.zig created+22
......@@ -0,0 +1,22 @@
1const builtin = @import("builtin");
2const std = @import("std");
3const expect = std.testing.expect;
4
5const Frame = packed struct {
6 num: u20,
7};
8
9const Entry = packed struct {
10 other: u12,
11 frame: Frame,
12};
13
14test {
15 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
17
18 const frame = Frame{ .num = 0x7FDE };
19 var entry = Entry{ .other = 0, .frame = .{ .num = 0xFFFFF } };
20 entry.frame = frame;
21 try expect(entry.frame.num == 0x7FDE);
22}