aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/align.zig
diff options
context:
space:
mode:
authorkcbanner <kcbanner@gmail.com>2023-01-21 13:07:27 -0500
committerkcbanner <kcbanner@gmail.com>2023-01-23 13:48:37 -0500
commit4a330ab811f72a0b33026761b10030cb450c32ca (patch)
treeb7bfb333c8dd1baf51c69fc8f98f9cbd5bc9f217 /test/behavior/align.zig
parent0d249e558a5b88cebad0efd4dd06a5b2ac349bcf (diff)
downloadzig-4a330ab811f72a0b33026761b10030cb450c32ca.tar.gz
zig-4a330ab811f72a0b33026761b10030cb450c32ca.zip
target: use 16 byte alignment for 128-bit types on x86 and ofmt .c
Diffstat (limited to 'test/behavior/align.zig')
-rw-r--r--test/behavior/align.zig16
1 files changed, 12 insertions, 4 deletions
diff --git a/test/behavior/align.zig b/test/behavior/align.zig
index 745fd15fe4..162c798758 100644
--- a/test/behavior/align.zig
+++ b/test/behavior/align.zig
@@ -65,9 +65,6 @@ test "alignment and size of structs with 128-bit fields" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
- // https://github.com/ziglang/zig/issues/14371
- if (builtin.zig_backend == .stage2_c and builtin.target.cpu.arch == .x86) return error.SkipZigTest;
-
const A = struct {
x: u128,
};
@@ -107,7 +104,18 @@ test "alignment and size of structs with 128-bit fields" {
.u129_size = 24,
},
- .x86 => switch (builtin.os.tag) {
+ .x86 => if (builtin.object_format == .c) .{
+ .a_align = 16,
+ .a_size = 16,
+
+ .b_align = 16,
+ .b_size = 32,
+
+ .u128_align = 16,
+ .u128_size = 16,
+ .u129_align = 16,
+ .u129_size = 32,
+ } else switch (builtin.os.tag) {
.windows => .{
.a_align = 8,
.a_size = 16,