Selaa lähdekoodia

Fix compilation of mips-linux rtl using 3.2.X compiler

Pierre Muller 5 kuukautta sitten
vanhempi
commit
22345e4a28
1 muutettua tiedostoa jossa 10 lisäystä ja 2 poistoa
  1. 10 2
      rtl/mips/mips.inc

+ 10 - 2
rtl/mips/mips.inc

@@ -564,7 +564,7 @@ asm
 end;
 
 {$IFDEF VER3_2}
-function InterLockedExchangeAdd (var Target: longint;Value : longint) : longint;
+function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint;
 {$ELSE VER3_2}
 {$DEFINE FPC_SYSTEM_HAS_ATOMIC_ADD_32}
 function fpc_atomic_add_32 (var Target: longint;Value : longint) : longint;
@@ -572,7 +572,11 @@ function fpc_atomic_add_32 (var Target: longint;Value : longint) : longint;
 {$IFDEF CPUMIPS1}
 begin
     Result:=Target;
+{$IFDEF VER3_2}
+    Target:= Target + Source;
+{$ELSE VER3_2}
     Target:= Target + Value;
+{$ENDIF VER3_2}
 {$ELSE}
 assembler; nostackframe;
 asm
@@ -588,7 +592,7 @@ asm
 end;
 
 {$IFDEF VER3_2}
-function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comparand: longint): longint;
+function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comperand: longint): longint;
 {$ELSE VER3_2}
 {$DEFINE FPC_SYSTEM_HAS_ATOMIC_CMP_XCHG_32}
 function fpc_atomic_cmp_xchg_32 (var Target: longint; NewValue: longint; Comparand: longint) : longint; [public,alias:'FPC_ATOMIC_CMP_XCHG_32'];
@@ -596,7 +600,11 @@ function fpc_atomic_cmp_xchg_32 (var Target: longint; NewValue: longint; Compara
 {$IFDEF CPUMIPS1}
 begin
     Result:= Target;
+{$IFDEF VER3_2}
+    if Target = Comperand then
+{$ELSE VER3_2}
     if Target = Comparand then
+{$ENDIF VER3_2}
       Target:= NewValue;
 {$ELSE}
 assembler; nostackframe;