* Better fix for atomic operations on wasm

This commit is contained in:
Michaël Van Canneyt 2025-01-07 14:33:56 +01:00
parent 6c7d2f6bac
commit 3f0593b554
3 changed files with 7 additions and 7 deletions

View File

@ -437,7 +437,7 @@
{$ifdef wasm32} {$ifdef wasm32}
{$define wasm} {$define wasm}
{$define cpu32bit} {$define cpu32bit}
{$define cpu64bitalu} {$define cpu32bitalu}
{$define cpu32bitaddr} {$define cpu32bitaddr}
{$define cpuhighleveltarget} {$define cpuhighleveltarget}
{$define cpurox} {$define cpurox}

View File

@ -632,7 +632,7 @@ implementation
location_reset(location,LOC_VOID,OS_NO); location_reset(location,LOC_VOID,OS_NO);
{$ifndef cpu64bitalu} {$if not defined(cpu64bitalu) and not defined(cpuhighleveltarget)}
if (def_cgsize(left.resultdef) in [OS_64,OS_S64]) and (left.location.loc in [LOC_REGISTER,LOC_CREGISTER,LOC_REFERENCE,LOC_CREFERENCE]) then if (def_cgsize(left.resultdef) in [OS_64,OS_S64]) and (left.location.loc in [LOC_REGISTER,LOC_CREGISTER,LOC_REFERENCE,LOC_CREFERENCE]) then
cg64.a_op64_loc(current_asmdata.CurrAsmList,negnotop[inlinenumber],def_cgsize(left.resultdef),left.location) cg64.a_op64_loc(current_asmdata.CurrAsmList,negnotop[inlinenumber],def_cgsize(left.resultdef),left.location)
else else

View File

@ -500,19 +500,19 @@ Type
TExitCode = Word; TExitCode = Word;
{$endif CPU16} {$endif CPU16}
{$if defined(CPU8)} {$if defined(CPUINT8)}
ALUSInt = ShortInt; ALUSInt = ShortInt;
ALUUInt = Byte; ALUUInt = Byte;
{$elseif defined(CPU16)} {$elseif defined(CPUINT16)}
ALUSInt = SmallInt; ALUSInt = SmallInt;
ALUUInt = Word; ALUUInt = Word;
{$elseif defined(CPU32)} {$elseif defined(CPUINT32)}
ALUSInt = Longint; ALUSInt = Longint;
ALUUInt = DWord; ALUUInt = DWord;
{$elseif defined(CPU64)} {$elseif defined(CPUINT64)}
ALUSInt = Int64; ALUSInt = Int64;
ALUUInt = QWord; ALUUInt = QWord;
{$endif defined(CPU64)} {$endif defined(CPUINT64)}
{ NativeInt and NativeUInt are Delphi compatibility types. Even though Delphi { NativeInt and NativeUInt are Delphi compatibility types. Even though Delphi
has IntPtr and UIntPtr, the Delphi documentation for NativeInt states that has IntPtr and UIntPtr, the Delphi documentation for NativeInt states that