program ideone;
function f(): pointer;
var
arr: array[0..0] of integer;
begin
arr[0]:= 123;
exit(@arr);
end;
var
p: Pointer;
x: array of String;
begin
p:= f();
writeln(Integer(p^)); //prints 123
SetLength(x, 5); //some irrelevant array operation
writeln(Integer(p^)); //prints rubbish !!!
end.
cHJvZ3JhbSBpZGVvbmU7CgoKZnVuY3Rpb24gZigpOiBwb2ludGVyOwp2YXIKICBhcnI6IGFycmF5WzAuLjBdIG9mIGludGVnZXI7CmJlZ2luCiAgYXJyWzBdOj0gMTIzOwogIGV4aXQoQGFycik7CmVuZDsKCgp2YXIKICBwOiBQb2ludGVyOwogIHg6IGFycmF5IG9mIFN0cmluZzsKYmVnaW4KICBwOj0gZigpOwogIHdyaXRlbG4oSW50ZWdlcihwXikpOyAvL3ByaW50cyAxMjMKICBTZXRMZW5ndGgoeCwgNSk7IC8vc29tZSBpcnJlbGV2YW50IGFycmF5IG9wZXJhdGlvbgogIHdyaXRlbG4oSW50ZWdlcihwXikpOyAvL3ByaW50cyBydWJiaXNoICEhIQplbmQu