diff --git a/rtl/arm/sysutilp.inc b/rtl/arm/sysutilp.inc index 2479653ad4..7b857199c6 100644 --- a/rtl/arm/sysutilp.inc +++ b/rtl/arm/sysutilp.inc @@ -22,28 +22,28 @@ { the ARM doesn't know multiprocessor system which would require locking } -function InterLockedDecrement (var Target: integer) : Integer; +function InterLockedDecrement (var Target: longint) : longint; begin dec(Target); result:=target; end; -function InterLockedIncrement (var Target: integer) : Integer; +function InterLockedIncrement (var Target: longint) : longint; begin inc(Target); result:=target; end; -function InterLockedExchange (var Target: integer;Source : integer) : Integer; +function InterLockedExchange (var Target: longint;Source : longint) : longint; begin Result:=Target; Target:=Source; end; -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; begin Result:=Target; inc(Target,Source); @@ -52,6 +52,9 @@ function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer { $Log$ - Revision 1.1 2003-11-30 19:48:20 florian + Revision 1.2 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.1 2003/11/30 19:48:20 florian * fixed some arm stuff } diff --git a/rtl/i386/sysutilp.inc b/rtl/i386/sysutilp.inc index 5792bdaf31..f601897e5c 100644 --- a/rtl/i386/sysutilp.inc +++ b/rtl/i386/sysutilp.inc @@ -20,7 +20,7 @@ {$ASMMODE ATT} -function InterLockedDecrement (var Target: integer) : Integer; assembler; +function InterLockedDecrement (var Target: longint) : longint; assembler; asm {$ifdef REGCALL} movl $-1,%edx @@ -35,7 +35,7 @@ asm end; -function InterLockedIncrement (var Target: integer) : Integer; assembler; +function InterLockedIncrement (var Target: longint) : longint; assembler; asm {$ifdef REGCALL} movl $1,%edx @@ -50,7 +50,7 @@ asm end; -function InterLockedExchange (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchange (var Target: longint;Source : longint) : longint; assembler; asm {$ifdef REGCALL} xchgl (%eax),%edx @@ -63,7 +63,7 @@ asm end; -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; assembler; asm {$ifdef REGCALL} xchgl %eax,%edx @@ -78,7 +78,10 @@ end; { $Log$ - Revision 1.4 2003-12-23 22:23:34 peter + Revision 1.5 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.4 2003/12/23 22:23:34 peter * increment should use ofcourse use 1 instead of -1 Revision 1.3 2003/11/11 21:08:17 peter diff --git a/rtl/objpas/sysutils/systhrdh.inc b/rtl/objpas/sysutils/systhrdh.inc index fa147d6b3a..fa36156690 100644 --- a/rtl/objpas/sysutils/systhrdh.inc +++ b/rtl/objpas/sysutils/systhrdh.inc @@ -24,14 +24,17 @@ type {$endif HASINTF} -function InterLockedIncrement (var Target: integer) : Integer; -function InterLockedDecrement (var Target: integer) : Integer; -function InterLockedExchange (var Target: integer;Source : integer) : Integer; -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; +function InterLockedIncrement (var Target: longint) : longint; +function InterLockedDecrement (var Target: longint) : longint; +function InterLockedExchange (var Target: longint;Source : longint) : longint; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; { $Log$ - Revision 1.1 2003-10-06 21:01:06 peter + Revision 1.2 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.1 2003/10/06 21:01:06 peter * moved classes unit to rtl Revision 1.3 2002/09/07 16:01:22 peter diff --git a/rtl/powerpc/sysutilp.inc b/rtl/powerpc/sysutilp.inc index 3efcc03752..5a60a9e970 100644 --- a/rtl/powerpc/sysutilp.inc +++ b/rtl/powerpc/sysutilp.inc @@ -18,7 +18,7 @@ This include contains cpu-specific routines ---------------------------------------------------------------------} -function InterLockedDecrement (var Target: integer) : Integer; assembler; +function InterLockedDecrement (var Target: longint) : longint; assembler; { input: address of target in r3 } { output: target-1 in r3 } { side-effect: target := target-1 } @@ -32,7 +32,7 @@ asm end; -function InterLockedIncrement (var Target: integer) : Integer; assembler; +function InterLockedIncrement (var Target: longint) : longint; assembler; { input: address of target in r3 } { output: target+1 in r3 } { side-effect: target := target+1 } @@ -46,7 +46,7 @@ asm end; -function InterLockedExchange (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchange (var Target: longint;Source : longint) : longint; assembler; { input: address of target in r3, source in r4 } { output: target in r3 } { side-effect: target := source } @@ -59,7 +59,7 @@ asm end; -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; assembler; { input: address of target in r3, source in r4 } { output: target in r3 } { side-effect: target := target+source } @@ -75,7 +75,10 @@ end; { $Log$ - Revision 1.7 2004-01-04 20:09:36 jonas + Revision 1.8 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.7 2004/01/04 20:09:36 jonas * renamed "r0" usages as base register to 0 Revision 1.6 2003/12/28 20:55:57 jonas @@ -84,7 +87,7 @@ end; Revision 1.5 2003/11/29 16:27:19 jonas * fixed several ppc assembler reader related problems * local vars in assembler procedures now start at offset 4 - * fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??) + * fixed second_int_to_bool (apparently an longint can be in LOC_JUMP??) Revision 1.4 2003/08/24 20:50:11 olle * changed used scratchreg from r0 to r10 diff --git a/rtl/sparc/sysutilp.inc b/rtl/sparc/sysutilp.inc index 25f0e35e9f..2b5a568b4a 100644 --- a/rtl/sparc/sysutilp.inc +++ b/rtl/sparc/sysutilp.inc @@ -18,7 +18,7 @@ This include contains cpu-specific routines ---------------------------------------------------------------------} -function InterLockedDecrement (var Target: integer) : Integer; assembler; +function InterLockedDecrement (var Target: longint) : longint; assembler; asm {$warning FIXME} end; @@ -37,7 +37,7 @@ end; *) -function InterLockedIncrement (var Target: integer) : Integer; assembler; +function InterLockedIncrement (var Target: longint) : longint; assembler; asm {$warning FIXME} end; @@ -55,7 +55,7 @@ InterLockedIncLoop: end; *) -function InterLockedExchange (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchange (var Target: longint;Source : longint) : longint; assembler; asm {$warning FIXME} end; @@ -73,7 +73,7 @@ end; *) -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; assembler; asm {$warning FIXME} end; @@ -93,7 +93,10 @@ end; { $Log$ - Revision 1.1 2003-09-01 20:46:32 peter + Revision 1.2 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.1 2003/09/01 20:46:32 peter * new dummies } diff --git a/rtl/win32/wininc/redef.inc b/rtl/win32/wininc/redef.inc index 97b8dd662a..01c16cde1c 100644 --- a/rtl/win32/wininc/redef.inc +++ b/rtl/win32/wininc/redef.inc @@ -611,9 +611,9 @@ function InsertMenuItemA(p1: HMENU; p2: UINT; p3: BOOL; const p4: TMenuItemInfoA {$ifdef support_smartlink} function InterlockedCompareExchange(var Destination: Pointer; Exchange: Pointer; Comperand: Pointer): Pointer;external 'kernel32' name 'InterlockedCompareExchange'; {$endif support_smartlink} -function InterlockedDecrement(var Addend: Integer): Integer; external 'kernel32' name 'InterlockedDecrement'; -function InterlockedExchange(var Target: Integer; Value: Integer): Integer; external 'kernel32' name 'InterlockedExchange'; -function InterlockedIncrement(var Addend: Integer): Integer; external 'kernel32' name 'InterlockedIncrement'; +function InterlockedDecrement(var Addend: longint): longint; external 'kernel32' name 'InterlockedDecrement'; +function InterlockedExchange(var Target: longint; Value: longint): longint; external 'kernel32' name 'InterlockedExchange'; +function InterlockedIncrement(var Addend: longint): longint; external 'kernel32' name 'InterlockedIncrement'; function IntersectRect(var lprcDst: TRect; const lprcSrc1, lprcSrc2: TRect): BOOL; external 'user32' name 'IntersectRect'; //function InvertRect(hDC: HDC; const lprc: TRect): BOOL; external 'user32' name 'InvertRect'; function IsDialogMessage(hDlg: HWND; var lpMsg: TMsg): BOOL;external 'user32' name 'IsDialogMessageA'; @@ -1052,7 +1052,10 @@ end; { $Log$ - Revision 1.19 2004-02-08 17:13:11 marco + Revision 1.20 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.19 2004/02/08 17:13:11 marco * getsystemtimeasfiletime Revision 1.18 2004/02/07 00:21:10 marco diff --git a/rtl/x86_64/sysutilp.inc b/rtl/x86_64/sysutilp.inc index db21d33875..c36f4b192e 100644 --- a/rtl/x86_64/sysutilp.inc +++ b/rtl/x86_64/sysutilp.inc @@ -18,7 +18,7 @@ This include contains cpu-specific routines ---------------------------------------------------------------------} -function InterLockedDecrement (var Target: integer) : Integer; assembler; +function InterLockedDecrement (var Target: longint) : longint; assembler; asm movl $-1,%edx xchgl %edx,%eax @@ -28,7 +28,7 @@ asm end; -function InterLockedIncrement (var Target: integer) : Integer; assembler; +function InterLockedIncrement (var Target: longint) : longint; assembler; asm movl $1,%edx xchgl %edx,%eax @@ -38,14 +38,14 @@ asm end; -function InterLockedExchange (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchange (var Target: longint;Source : longint) : longint; assembler; asm xchgl (%rax),%edx movl %edx,%eax end; -function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer; assembler; +function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint; assembler; asm xchgl %eax,%edx lock @@ -55,7 +55,10 @@ end; { $Log$ - Revision 1.1 2004-02-20 22:15:16 florian + Revision 1.2 2004-03-05 12:17:50 marco + * interlocked* changed to longints, including winapi. (which was a bug) + + Revision 1.1 2004/02/20 22:15:16 florian + x86_64 dependend sysutils part added * some 64 bit adaptions }