* enable explicit Pointer overloads of Interlocked* functions for M68k as that has a calling convention where the passing of Pointer values differs from ordinal values (address vs. int registers). Fixes e.g. usage of the Classes unit

git-svn-id: trunk@38053 -
This commit is contained in:
svenbarth 2018-01-26 21:37:58 +00:00
parent e09ec0e36b
commit ea193bc993

View File

@ -1429,6 +1429,12 @@ Function GetProcessID:SizeUInt;
Function GetThreadID:TThreadID;{$ifdef SYSTEMINLINE}inline;{$endif}
{$endif FPC_HAS_FEATURE_PROCESSES}
{$ifdef cpum68k}
{ due to the register calling convention which uses address registers explicit
variants of the Interlocked* functions for Pointers are needed }
{$define FPC_HAS_EXPLICIT_INTERLOCKED_POINTER}
{$endif}
{$ifdef cpu16}
function InterLockedIncrement (var Target: smallint) : smallint; public name 'FPC_INTERLOCKEDINCREMENT16';
function InterLockedDecrement (var Target: smallint) : smallint; public name 'FPC_INTERLOCKEDDECREMENT16';