Avoid wrap on 32-bit system for StackTop calculation

git-svn-id: trunk@39735 -
This commit is contained in:
pierre 2018-09-11 13:10:59 +00:00
parent 70fae803ce
commit 16e2bdad5a

View File

@ -717,7 +717,11 @@ End;
{$ifndef FPC_SYSTEM_HAS_STACKTOP}
function StackTop: pointer;
begin
result:=StackBottom+StackLength;
{ Avoid wrap to zero on 32-bit }
if ptruint(StackBottom)+ StackLength > high(ptruint) then
result:=pointer(ptruint(high(ptruint)))
else
result:=StackBottom + StackLength;
end;
{$endif FPC_SYSTEM_HAS_STACKTOP}