tests: avoid loading 16 MiB onto the stack

Currently, Zig semantically loads an array as a temporary when indexing
it. This means it cannot be guaranteed that only the requested element
is loaded; in particular, our self-hosted backends do not elide the load
of the full array, so this test case was crashing on self-hosted.
This commit is contained in:
mlugg 2025-06-05 12:15:56 +01:00 committed by Andrew Kelley
parent 0bf8617d96
commit 437059f37c

View File

@ -6,8 +6,9 @@ var buffer: [0x1000000]u64 = [1]u64{0} ** 0x1000000;
pub fn main() anyerror!void {
buffer[0x10] = 1;
try std.io.getStdOut().writer().print("{d}, {d}, {d}\n", .{
buffer[0],
buffer[0x10],
buffer[0x1000000 - 1],
// workaround the dreaded decl_val
(&buffer)[0],
(&buffer)[0x10],
(&buffer)[0x1000000 - 1],
});
}