diff options
| author | Cody Tapscott <topolarity@tapscott.me> | 2022-03-19 11:59:41 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-19 19:41:23 -0400 |
| commit | 19331b323d15b0fa0bae7add37a03528256a119f (patch) | |
| tree | fcd72015345f8524892a32102d59f966eceebb7b /test/behavior/align.zig | |
| parent | 5c3325588ef4e85e85cb201ad9328fe26bbb8dca (diff) | |
| download | zig-19331b323d15b0fa0bae7add37a03528256a119f.tar.gz zig-19331b323d15b0fa0bae7add37a03528256a119f.zip | |
stage2: Correctly align decls for comptime allocs
This updates WipAnonDecl to require an alignment provided by the caller,
which is needed for explicitly aligned comptime allocs.
Diffstat (limited to 'test/behavior/align.zig')
| -rw-r--r-- | test/behavior/align.zig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/behavior/align.zig b/test/behavior/align.zig index ef5a790ead..3a35d1fcca 100644 --- a/test/behavior/align.zig +++ b/test/behavior/align.zig @@ -416,3 +416,18 @@ test "align(N) on functions" { fn overaligned_fn() align(0x1000) i32 { return 42; } + +test "comptime alloc alignment" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + + comptime var bytes1 = [_]u8{0}; + _ = bytes1; + + comptime var bytes2 align(256) = [_]u8{0}; + var bytes2_addr = @ptrToInt(&bytes2); + try std.testing.expect(bytes2_addr & 0xff == 0); +} |
