aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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,