aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/bugs
diff options
context:
space:
mode:
authorEvin Yulo <yujiri@disroot.org>2022-12-14 18:43:48 -0500
committerVeikka Tuominen <git@vexu.eu>2022-12-16 18:19:32 +0200
commitb5d1df091b3c2b8943a1bdece5d48a4355489a4e (patch)
treefd6ab7457fac0b087015a8040ce67e9ca82bbb30 /test/behavior/bugs
parentaa3964477f662ea5487aa4a1e4595d174e49a89d (diff)
downloadzig-b5d1df091b3c2b8943a1bdece5d48a4355489a4e.tar.gz
zig-b5d1df091b3c2b8943a1bdece5d48a4355489a4e.zip
Add test for #12571
Closes #12571
Diffstat (limited to 'test/behavior/bugs')
-rw-r--r--test/behavior/bugs/12571.zig22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/behavior/bugs/12571.zig b/test/behavior/bugs/12571.zig
new file mode 100644
index 0000000000..4338051b18
--- /dev/null
+++ b/test/behavior/bugs/12571.zig
@@ -0,0 +1,22 @@
+const builtin = @import("builtin");
+const std = @import("std");
+const expect = std.testing.expect;
+
+const Frame = packed struct {
+ num: u20,
+};
+
+const Entry = packed struct {
+ other: u12,
+ frame: Frame,
+};
+
+test {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+
+ const frame = Frame{ .num = 0x7FDE };
+ var entry = Entry{ .other = 0, .frame = .{ .num = 0xFFFFF } };
+ entry.frame = frame;
+ try expect(entry.frame.num == 0x7FDE);
+}