zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit b5d1df091b3c2b8943a1bdece5d48a4355489a4e (tree)
parent aa3964477f662ea5487aa4a1e4595d174e49a89d
Author: Evin Yulo <yujiri@disroot.org>
Date:   Wed, 14 Dec 2022 18:43:48 -0500

Add test for #12571

Closes #12571

Diffstat:
Mtest/behavior.zig | 1+
Atest/behavior/bugs/12571.zig | 22++++++++++++++++++++++
2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/test/behavior.zig b/test/behavior.zig @@ -100,6 +100,7 @@ test { _ = @import("behavior/bugs/12488.zig"); _ = @import("behavior/bugs/12498.zig"); _ = @import("behavior/bugs/12551.zig"); + _ = @import("behavior/bugs/12571.zig"); _ = @import("behavior/bugs/12644.zig"); _ = @import("behavior/bugs/12680.zig"); _ = @import("behavior/bugs/12723.zig"); diff --git a/test/behavior/bugs/12571.zig 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); +}