diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2023-06-29 00:04:51 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2023-06-29 00:23:19 -0400 |
| commit | 1a2468abfcd8b539193d943c1eefb71319cc7b88 (patch) | |
| tree | 15b699dc344e54a537856d6a73cb870e0430bf17 /test/behavior/struct.zig | |
| parent | 77dcd903a05936925620f8d8005f16ed4e64a7ef (diff) | |
| download | zig-1a2468abfcd8b539193d943c1eefb71319cc7b88.tar.gz zig-1a2468abfcd8b539193d943c1eefb71319cc7b88.zip | |
Revert "Sema: preserve extern struct field alignment"
This reverts commit 4620972d086ebb3b7686a79914876488c6dfd171.
Diffstat (limited to 'test/behavior/struct.zig')
| -rw-r--r-- | test/behavior/struct.zig | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index ab7b97ae94..1335498ca4 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -1680,9 +1680,9 @@ test "extern struct field pointer has correct alignment" { const S = struct { fn doTheTest() !void { - var a: extern struct { x: u32, y: u16 } = .{ .x = 1, .y = 2 }; - var b: extern struct { x: u32, y: u16 } align(1) = .{ .x = 3, .y = 4 }; - var c: extern struct { x: u32, y: u16 } align(64) = .{ .x = 5, .y = 6 }; + var a: extern struct { x: u32, y: u32 } = .{ .x = 1, .y = 2 }; + var b: extern struct { x: u32, y: u32 } align(1) = .{ .x = 3, .y = 4 }; + var c: extern struct { x: u32, y: u32 } align(64) = .{ .x = 5, .y = 6 }; const axp = &a.x; const bxp = &b.x; @@ -1693,19 +1693,18 @@ test "extern struct field pointer has correct alignment" { comptime assert(@TypeOf(axp) == *u32); comptime assert(@TypeOf(bxp) == *align(1) u32); - comptime assert(@TypeOf(cxp) == *align(64) u32); - - comptime assert(@TypeOf(ayp) == *align(@alignOf(u32)) u16); - comptime assert(@TypeOf(byp) == *align(1) u16); - comptime assert(@TypeOf(cyp) == *align(@alignOf(u32)) u16); + comptime assert(@TypeOf(cxp) == *align(64) u32); // first field, inherits larger alignment + comptime assert(@TypeOf(ayp) == *u32); + comptime assert(@TypeOf(byp) == *align(1) u32); + comptime assert(@TypeOf(cyp) == *u32); try expectEqual(@as(u32, 1), axp.*); try expectEqual(@as(u32, 3), bxp.*); try expectEqual(@as(u32, 5), cxp.*); - try expectEqual(@as(u16, 2), ayp.*); - try expectEqual(@as(u16, 4), byp.*); - try expectEqual(@as(u16, 6), cyp.*); + try expectEqual(@as(u32, 2), ayp.*); + try expectEqual(@as(u32, 4), byp.*); + try expectEqual(@as(u32, 6), cyp.*); } }; |
