Skip to content
Permalink
Browse files

fixed ARM/AARCH64 compilation

  • Loading branch information...
Arnaud Bouchez
Arnaud Bouchez committed Apr 26, 2019
1 parent 8af20b0 commit 5631b1a69a61c5b24e194d4d7797c22853fe2f3c
Showing with 8 additions and 6 deletions.
  1. +5 −5 SynCommons.pas
  2. +2 −0 Synopse.inc
  3. +1 −1 SynopseCommit.inc
end;

function StrInt32(P: PAnsiChar; val: PtrInt): PAnsiChar;
{$ifdef ABSOLUTEPASCAL}
{$ifdef ABSOLUTEPASCALORNOTINTEL}
begin // fallback to pure pascal version for ARM or PIC
if val<0 then begin
result := StrUInt32(P,PtrUInt(-val))-1;
add eax, ecx // includes '-' if val<0
end;
{$endif CPUX64}
{$endif ABSOLUTEPASCAL}
{$endif ABSOLUTEPASCALORNOTINTEL}

function StrUInt32(P: PAnsiChar; val: PtrUInt): PAnsiChar;
{$ifdef ABSOLUTEPASCAL} // fallback to pure pascal version for ARM or PIC
{$ifdef ABSOLUTEPASCALORNOTINTEL} // fallback to pure pascal version for ARM or PIC
var c100: PtrUInt;
tab: PWordArray;
begin // this code is faster than Borland's original str() or IntToStr()
mov [eax], dl
end;
{$endif CPU64}
{$endif ABSOLUTEPASCAL}
{$endif ABSOLUTEPASCALORNOTINTEL}

function StrUInt64(P: PAnsiChar; const val: QWord): PAnsiChar;
{$ifdef CPU64}
{$ifdef FORCE_STRSSE42}
if cfSSE42 in CpuFeatures then
StrLen := @StrLenSSE42 else
StrLen := @StrLenSSE2;
{$endif FORCE_STRSSE42}
StrLen := @StrLenSSE2;
FillcharFast := @FillCharSSE2;
end else begin
StrLen := @StrLenX86;
@@ -610,10 +610,12 @@
{$endif DISABLE_SSE42}
{$else}
{$undef HASAESNI} // AES-NI is an Intel-specific feature
{$define ABSOLUTEPASCALORNOTINTEL}
{$endif CPUINTEL}

{$ifdef ABSOLUTEPASCAL}
{$define ABSOLUTEORPUREPASCAL}
{$define ABSOLUTEPASCALORNOTINTEL}
{$endif ABSOLUTEPASCAL}
{$ifdef PUREPASCAL}
{$define ABSOLUTEORPUREPASCAL}
@@ -1 +1 @@
'1.18.5194'
'1.18.5195'

0 comments on commit 5631b1a

Please sign in to comment.
You can’t perform that action at this time.