authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-11-22 20:12:19-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-11-22 20:12:19-07:00
loge8b99428737c401afeb118fa277da362e903b3ca
tree56784d19727ccff38a7e07438bae197e4328e031
parentaf1a5751d9e9f6dc3d9a3d7c37d4a9e08e2ef6d5

add more alignment behavior test coverage


1 files changed, 15 insertions(+), 0 deletions(-)

test/behavior/align_stage1.zig+15
......@@ -223,3 +223,18 @@ test "align(N) on functions" {
223223fn overaligned_fn() align(0x1000) i32 {
224224 return 42;
225225}
226
227test "page aligned array on stack" {
228 // Large alignment value to make it hard to accidentally pass.
229 var array align(0x1000) = [_]u8{ 1, 2, 3, 4, 5, 6, 7, 8 };
230 var number1: u8 align(16) = 42;
231 var number2: u8 align(16) = 43;
232
233 try expect(@ptrToInt(&array[0]) & 0xFFF == 0);
234 try expect(array[3] == 4);
235
236 try expect(@truncate(u4, @ptrToInt(&number1)) == 0);
237 try expect(@truncate(u4, @ptrToInt(&number2)) == 0);
238 try expect(number1 == 42);
239 try expect(number2 == 43);
240}