* the offset parameter of reference_reset* must be asizeint rather than

longint (mantis #38636)

git-svn-id: trunk@49065 -
This commit is contained in:
Jonas Maebe 2021-03-27 15:31:33 +00:00
parent ca7c775e36
commit 308aee42a0
3 changed files with 25 additions and 4 deletions

1
.gitattributes vendored
View File

@ -18759,6 +18759,7 @@ tests/webtbs/tw38549b.pp svneol=native#text/plain
tests/webtbs/tw38549c.pp svneol=native#text/plain
tests/webtbs/tw38549d.pp svneol=native#text/plain
tests/webtbs/tw3863.pp svneol=native#text/plain
tests/webtbs/tw38636.pp svneol=native#text/plain
tests/webtbs/tw3864.pp svneol=native#text/plain
tests/webtbs/tw38642.pp svneol=native#text/pascal
tests/webtbs/tw3865.pp svneol=native#text/plain

View File

@ -192,8 +192,8 @@ unit cgutils;
{# Clear to zero a treference, and set is base address
to base register.
}
procedure reference_reset_base(var ref : treference;base : tregister;offset : longint; temppos : treftemppos; alignment : longint; volatility: tvolatilityset);
procedure reference_reset_symbol(var ref : treference;sym : tasmsymbol;offset, alignment : longint; volatility: tvolatilityset);
procedure reference_reset_base(var ref: treference; base: tregister; offset: asizeint; temppos: treftemppos; alignment: longint; volatility: tvolatilityset);
procedure reference_reset_symbol(var ref: treference;sym: tasmsymbol; offset: asizeint; alignment : longint; volatility: tvolatilityset);
{ This routine verifies if two references are the same, and
if so, returns TRUE, otherwise returns false.
}
@ -244,7 +244,7 @@ uses
end;
procedure reference_reset_base(var ref: treference; base: tregister; offset : longint; temppos : treftemppos ; alignment : longint; volatility: tvolatilityset);
procedure reference_reset_base(var ref: treference; base: tregister; offset: asizeint; temppos: treftemppos ; alignment: longint; volatility: tvolatilityset);
begin
reference_reset(ref,alignment,volatility);
ref.base:=base;
@ -253,7 +253,7 @@ uses
end;
procedure reference_reset_symbol(var ref: treference; sym: tasmsymbol; offset, alignment: longint; volatility: tvolatilityset);
procedure reference_reset_symbol(var ref: treference; sym: tasmsymbol; offset: asizeint; alignment: longint; volatility: tvolatilityset);
begin
reference_reset(ref,alignment,volatility);
ref.symbol:=sym;

20
tests/webtbs/tw38636.pp Normal file
View File

@ -0,0 +1,20 @@
program Project1;
{$ifdef cpu64}
const
lowlimit = 536879040;
procedure test(i : integer);
const
myarray : array[lowlimit..lowlimit+2] of integer = (1,2,3);
begin
if @myarray[i]<>@myarray then
halt(1);
end;
begin
test(lowlimit);
{$else}
begin
{$endif}
end.