diff --git a/compiler/arm/aasmcpu.pas b/compiler/arm/aasmcpu.pas index a6afe4b7b8..409018b76f 100644 --- a/compiler/arm/aasmcpu.pas +++ b/compiler/arm/aasmcpu.pas @@ -743,7 +743,7 @@ implementation prolog.Free; new_section(current_asmdata.asmlists[al_end],sec_pdata,'',sizeof(aint)); current_asmdata.asmlists[al_end].concat(Tai_const.Createname('FPC_EH_CODE_START', 0)); - current_asmdata.asmlists[al_end].concat(Tai_const.Create_32bit($ffffff01)); + current_asmdata.asmlists[al_end].concat(Tai_const.Create_32bit(longint($ffffff01))); end; (* diff --git a/compiler/arm/cgcpu.pas b/compiler/arm/cgcpu.pas index 71d8f7fdb8..419a11d2a3 100644 --- a/compiler/arm/cgcpu.pas +++ b/compiler/arm/cgcpu.pas @@ -375,12 +375,12 @@ unit cgcpu; OP_ADD: begin op:=OP_SUB; - a:=dword(-a); + a:=aint(dword(-a)); end; OP_SUB: begin op:=OP_ADD; - a:=dword(-a); + a:=aint(dword(-a)); end end; @@ -1557,7 +1557,7 @@ unit cgcpu; helpsize:aint; copysize:byte; cgsize:Tcgsize; - tmpregisters:array[1..maxtmpreg]of tregister; + tmpregisters:array[1..maxtmpreg] of tregister; tmpregi,tmpregi2:byte; { will never be called with count<=4 } @@ -1653,7 +1653,7 @@ unit cgcpu; reference_reset_base(srcref,srcreg,0); end; - while (len div 4 <> 0) and (tmpregi<=maxtmpreg) do + while (len div 4 <> 0) and (tmpregi