mirror of
https://github.com/ziglang/zig.git
synced 2026-01-30 03:03:46 +00:00
Sema: require reified packed struct fields to have zero alignment
This commit is contained in:
parent
2eb0909206
commit
32d755beb8
@ -17682,6 +17682,10 @@ fn reifyStruct(
|
||||
}
|
||||
const abi_align = @intCast(u29, (try alignment_val.getUnsignedIntAdvanced(target, sema.kit(block, src))).?);
|
||||
|
||||
if (layout == .Packed and abi_align != 0) {
|
||||
return sema.fail(block, src, "alignment in a packed struct field must be set to 0", .{});
|
||||
}
|
||||
|
||||
const field_name = try name_val.toAllocatedBytes(
|
||||
Type.initTag(.const_slice_u8),
|
||||
new_decl_arena_allocator,
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
export fn entry() void {
|
||||
_ = @Type(.{ .Struct = .{ .layout = .Packed, .fields = &.{
|
||||
.{ .name = "one", .field_type = u4, .default_value = null, .is_comptime = false, .alignment = 2 },
|
||||
}, .decls = &.{}, .is_tuple = false } });
|
||||
}
|
||||
|
||||
// error
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :2:9: error: alignment in a packed struct field must be set to 0
|
||||
Loading…
x
Reference in New Issue
Block a user