aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-07-19 13:54:31 -0400
committerAndrew Kelley <andrew@ziglang.org>2025-07-20 03:29:25 +0200
commit592f1043dc704faf79bde7149917d4155b3747f8 (patch)
treee56ff6a9a88e67c78e3647f1205b3a4c4b18551a /src/codegen/c.zig
parenta0d16829215f56fe42548f1014cba0f2df5a1609 (diff)
downloadzig-592f1043dc704faf79bde7149917d4155b3747f8.tar.gz
zig-592f1043dc704faf79bde7149917d4155b3747f8.zip
cbe: fix comptime-known packed unions
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 955a83bc33..c726c05e1b 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -2438,7 +2438,10 @@ pub const DeclGen = struct {
const ty = val.typeOf(zcu);
return .{ .data = .{
.dg = dg,
- .int_info = ty.intInfo(zcu),
+ .int_info = if (ty.zigTypeTag(zcu) == .@"union" and ty.containerLayout(zcu) == .@"packed")
+ .{ .signedness = .unsigned, .bits = @intCast(ty.bitSize(zcu)) }
+ else
+ ty.intInfo(zcu),
.kind = kind,
.ctype = try dg.ctypeFromType(ty, kind),
.val = val,