diff --git a/rtl/inc/system.inc b/rtl/inc/system.inc index 1c775ab579..ac6d4ceda7 100644 --- a/rtl/inc/system.inc +++ b/rtl/inc/system.inc @@ -2197,83 +2197,83 @@ end; {$ENDIF FPC_HAS_SETCTRLBREAKHANDLER} {$ifdef cpu16} -function AtomicIncrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedIncrement(Target); end; -function AtomicDecrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedDecrement(Target); end; -function AtomicCmpExchange(var Target: smallint; NewValue, Comperand: smallint): smallint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: smallint; NewValue, Comperand: smallint): smallint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedCompareExchange(Target,NewValue,Comperand); end; -function AtomicExchange (var Target: smallint;Source : smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: smallint;Source : smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedExchange(Target,Source); end; -function AtomicIncrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedIncrement(Target); end; -function AtomicDecrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedDecrement(Target); end; -function AtomicCmpExchange(var Target: word; NewValue, Comperand: word): word; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: word; NewValue, Comperand: word): word; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedCompareExchange(Target, NewValue, Comperand); end; -function AtomicExchange (var Target: word;Source : word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: word;Source : word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedExchange(Target,Source); end; {$endif cpu16} -function AtomicIncrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedIncrement(Target); end; -function AtomicDecrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedDecrement(Target); end; -function AtomicCmpExchange(var Target: longint; NewValue, Comperand: longint): longint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: longint; NewValue, Comperand: longint): longint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedCompareExchange(Target,NewValue, Comperand); end; -function AtomicExchange (var Target: longint;Source : longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: longint;Source : longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedExchange(Target,Source); @@ -2281,28 +2281,28 @@ end; {$ifdef cpu64} -function AtomicIncrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedIncrement64(Target); end; -function AtomicDecrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedDecrement64(Target); end; -function AtomicCmpExchange(var Target: int64; NewValue, Comperand: int64): int64; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: int64; NewValue, Comperand: int64): int64; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=InterlockedCompareExchange64(Target,NewValue, Comperand); end; -function AtomicExchange (var Target: int64;Source : int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: int64;Source : int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} begin @@ -2315,7 +2315,7 @@ end; {$ifndef FPC_SYSTEM_DISABLE_INTERLOCK_POINTER_OVERLOAD} -function AtomicIncrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} begin {$IFDEF CPU64} @@ -2330,7 +2330,7 @@ begin end; -function AtomicDecrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} begin {$IFDEF CPU64} @@ -2345,7 +2345,7 @@ begin end; -function AtomicCmpExchange(var Target: pointer; NewValue, Comperand: pointer): pointer; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: pointer; NewValue, Comperand: pointer): pointer; {$ifdef SYSTEMINLINE}inline;{$endif} begin {$IFDEF CPU64} @@ -2360,7 +2360,7 @@ begin end; -function AtomicExchange(var Target: pointer;Source : pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange(var Target: pointer;Source : pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} begin {$IFDEF CPU64} @@ -2376,28 +2376,28 @@ end; {$endif FPC_SYSTEM_DISABLE_INTERLOCK_POINTER_OVERLOAD} -function AtomicIncrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=Cardinal(InterlockedIncrement(Longint(Target))); end; -function AtomicDecrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=Cardinal(InterlockedIncrement(Longint(Target))); end; -function AtomicCmpExchange(var Target: Cardinal; NewValue, Comperand: Cardinal): Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: Cardinal; NewValue, Comperand: Cardinal): Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=Cardinal(InterlockedCompareExchange(Longint(Target),Longint(NewValue), Longint(Comperand))); end; -function AtomicExchange (var Target: Cardinal;Source : Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: Cardinal;Source : Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=Cardinal(InterlockedExchange(Longint(Target),Longint(Source))); @@ -2405,28 +2405,28 @@ end; {$ifdef cpu64} -function AtomicIncrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=QWord(InterlockedIncrement64(Int64(Target))); end; -function AtomicDecrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicDecrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=QWord(InterlockedDecrement64(int64(Target))); end; -function AtomicCmpExchange(var Target: qword; NewValue, Comperand: qword): qword; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicCmpExchange(var Target: qword; NewValue, Comperand: qword): qword; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=QWord(InterlockedCompareExchange64(Int64(Target),Int64(NewValue), Int64(Comperand))); end; -function AtomicExchange (var Target: qword;Source : qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicExchange (var Target: qword;Source : qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} begin Result:=QWord(InterlockedExchange64(Int64(Target),Int64(Source))); diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc index 1b304fbd56..97466ac133 100644 --- a/rtl/inc/systemh.inc +++ b/rtl/inc/systemh.inc @@ -1030,7 +1030,7 @@ Function Odd(l:QWord):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLIN function SwapEndian(const AValue: SmallInt): SmallInt;{$ifdef SYSTEMINLINE}inline;{$endif} function SwapEndian(const AValue: Word): Word;{$ifdef SYSTEMINLINE}inline;{$endif} -function SwapEndian(const AValue: LongInt): LongInt{$ifdef SYSTEMINLINE}inline;{$endif} +function SwapEndian(const AValue: LongInt): LongInt;{$ifdef SYSTEMINLINE}inline;{$endif} function SwapEndian(const AValue: DWord): DWord;{$ifdef SYSTEMINLINE}inline;{$endif} function SwapEndian(const AValue: Int64): Int64; function SwapEndian(const AValue: QWord): QWord; @@ -1586,30 +1586,30 @@ Function GetThreadID:TThreadID;{$ifdef SYSTEMINLINE}inline;{$endif} {$endif CPUI806} {$ifdef cpu16} -function AtomicIncrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: smallint; NewValue, Comperand: smallint): smallint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: smallint;Source : smallint) : smallint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: smallint; NewValue, Comperand: smallint): smallint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: smallint;Source : smallint) : smallint; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement (var Target: smallint) : smallint; public name 'FPC_INTERLOCKEDINCREMENT16'; function InterlockedDecrement (var Target: smallint) : smallint; public name 'FPC_INTERLOCKEDDECREMENT16'; function InterlockedExchange (var Target: smallint;Source : smallint) : smallint; public name 'FPC_INTERLOCKEDEXCHANGE16'; function InterlockedExchangeAdd (var Target: smallint;Source : smallint) : smallint; public name 'FPC_INTERLOCKEDEXCHANGEADD16'; function InterlockedCompareExchange(var Target: smallint; NewValue: smallint; Comperand: smallint): smallint; public name 'FPC_INTERLOCKEDCOMPAREEXCHANGE16'; {$endif cpu16} -function AtomicIncrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: longint; NewValue, Comperand: longint): longint; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: longint;Source : longint) : longint; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: longint; NewValue, Comperand: longint): longint; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: longint;Source : longint) : longint; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement (var Target: longint) : longint; public name 'FPC_INTERLOCKEDINCREMENT'; function InterlockedDecrement (var Target: longint) : longint; public name 'FPC_INTERLOCKEDDECREMENT'; function InterlockedExchange (var Target: longint;Source : longint) : longint; public name 'FPC_INTERLOCKEDEXCHANGE'; function InterlockedExchangeAdd (var Target: longint;Source : longint) : longint; public name 'FPC_INTERLOCKEDEXCHANGEADD'; function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comperand: longint): longint; public name 'FPC_INTERLOCKEDCOMPAREEXCHANGE'; {$ifdef cpu64} -function AtomicIncrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: int64; NewValue, Comperand: int64): int64; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: int64;Source : int64) : int64; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: int64; NewValue, Comperand: int64): int64; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: int64;Source : int64) : int64; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement64 (var Target: int64) : int64; public name 'FPC_INTERLOCKEDINCREMENT64'; function InterlockedDecrement64 (var Target: int64) : int64; public name 'FPC_INTERLOCKEDDECREMENT64'; function InterlockedExchange64 (var Target: int64;Source : int64) : int64; public name 'FPC_INTERLOCKEDEXCHANGE64'; @@ -1621,10 +1621,10 @@ function InterlockedCompareExchange64(var Target: int64; NewValue: int64; Comper {$ifndef FPC_SYSTEM_DISABLE_INTERLOCK_POINTER_OVERLOAD} -function AtomicIncrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: pointer; NewValue, Comperand: pointer): pointer; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: pointer;Source : pointer) : pointer; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: pointer; NewValue, Comperand: pointer): pointer; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: pointer;Source : pointer) : pointer; {$ifdef SYSTEMINLINE}inline;{$endif} {$if defined(FPC_HAS_EXPLICIT_INTERLOCKED_POINTER)} { Note: define FPC_SYSTEM_HAS_EXPLICIT_INTERLOCKED_POINTER if the target platform defines these pointer overloads itself instead of using platform independant inline functions } @@ -1657,30 +1657,30 @@ function InterlockedCompareExchangePointer(var Target: Pointer; NewValue: Pointe { unsigned overloads } {$ifdef cpu16} -function AtomicIncrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: word; NewValue, Comperand: word): word; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: word;Source : word) : word; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: word; NewValue, Comperand: word): word; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: word;Source : word) : word; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement (var Target: word) : word; external name 'FPC_INTERLOCKEDINCREMENT16'; function InterlockedDecrement (var Target: word) : word; external name 'FPC_INTERLOCKEDDECREMENT16'; function InterlockedExchange (var Target: word;Source : word) : word; external name 'FPC_INTERLOCKEDEXCHANGE16'; function InterlockedExchangeAdd (var Target: word;Source : word) : word; external name 'FPC_INTERLOCKEDEXCHANGEADD16'; function InterlockedCompareExchange(var Target: word; NewValue: word; Comperand: word): word; external name 'FPC_INTERLOCKEDCOMPAREEXCHANGE16'; {$endif cpu16} -function AtomicIncrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: Cardinal; NewValue, Comperand: Cardinal): Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: Cardinal;Source : Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: Cardinal; NewValue, Comperand: Cardinal): Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: Cardinal;Source : Cardinal) : Cardinal; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement (var Target: cardinal) : cardinal; external name 'FPC_INTERLOCKEDINCREMENT'; function InterlockedDecrement (var Target: cardinal) : cardinal; external name 'FPC_INTERLOCKEDDECREMENT'; function InterlockedExchange (var Target: cardinal;Source : cardinal) : cardinal; external name 'FPC_INTERLOCKEDEXCHANGE'; function InterlockedExchangeAdd (var Target: cardinal;Source : cardinal) : cardinal; external name 'FPC_INTERLOCKEDEXCHANGEADD'; function InterlockedCompareExchange(var Target: cardinal; NewValue: cardinal; Comperand: cardinal): cardinal; external name 'FPC_INTERLOCKEDCOMPAREEXCHANGE'; {$ifdef cpu64} -function AtomicIncrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicDecrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicCmpExchange(var Target: qword; NewValue, Comperand: qword): qword; {$ifdef SYSTEMINLINE}inline{$endif}; -function AtomicExchange (var Target: qword;Source : qword) : qword; {$ifdef SYSTEMINLINE}inline{$endif}; +function AtomicIncrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicDecrement (var Target: qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicCmpExchange(var Target: qword; NewValue, Comperand: qword): qword; {$ifdef SYSTEMINLINE}inline;{$endif} +function AtomicExchange (var Target: qword;Source : qword) : qword; {$ifdef SYSTEMINLINE}inline;{$endif} function InterlockedIncrement64 (var Target: qword) : qword; external name 'FPC_INTERLOCKEDINCREMENT64'; function InterlockedDecrement64 (var Target: qword) : qword; external name 'FPC_INTERLOCKEDDECREMENT64'; function InterlockedExchange64 (var Target: qword;Source : qword) : qword; external name 'FPC_INTERLOCKEDEXCHANGE64';