aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/struct.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-05-04 18:45:59 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-05-04 18:45:59 -0700
commitaf7e945a7dc00a2a5055d9770b9ecda253d64a8e (patch)
treeeea75368e3cf4a065a0e261f99a584d3a9beea68 /test/behavior/struct.zig
parent2f6a01d0c39542e7d88c9af14e869b820fd156cc (diff)
downloadzig-af7e945a7dc00a2a5055d9770b9ecda253d64a8e.tar.gz
zig-af7e945a7dc00a2a5055d9770b9ecda253d64a8e.zip
stage2: fix `@sizeOf` for structs with comptime fields
Diffstat (limited to 'test/behavior/struct.zig')
-rw-r--r--test/behavior/struct.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig
index ed75268f7d..24365d49b7 100644
--- a/test/behavior/struct.zig
+++ b/test/behavior/struct.zig
@@ -500,6 +500,10 @@ const Bitfields = packed struct {
};
test "packed struct fields are ordered from LSB to MSB" {
+ if (builtin.zig_backend == .stage1) {
+ // stage1 gets the wrong answer for a lot of targets
+ return error.SkipZigTest;
+ }
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
@@ -971,6 +975,8 @@ test "comptime struct field" {
comptime b: i32 = 1234,
};
+ comptime std.debug.assert(@sizeOf(T) == 4);
+
var foo: T = undefined;
comptime try expect(foo.b == 1234);
}