Are these really Windows compiler unsupported Delphi Intrinsic Routines?

  

Odd, the [WayBack/Archive.is] Delphi Intrinsic Routines – RAD Studio indicates quite a few compiler intrinsics are not available on Windows.
I wonder if this list is correct:

Routine
Description
DCC32
DCC64
DCCOSX
DCCAARM
DCCIOSARM
DCCIOSARM64
DCCIOS32

System.AtomicCmpExchange
AtomicCmpExchange is used for comparing and exchanging memory values.

System.AtomicDecrement
AtomicDecrement is used for decrementing memory values.

System.AtomicExchange
AtomicExchange is used for exchanging memory values.

System.AtomicIncrement
AtomicIncrement is used for incrementing memory values.

System.BuiltInArcTan
Calculates the arctangent of a given number.

System.BuiltInArcTan2
Calculates the arctangent angle and quadrant of a given number.

System.BuiltInCos
Calculates the cosine of an angle.

System.BuiltInLn
Calculates the natural logarithm of a real expression.

System.BuiltInLnXPlus1
Calculates the natural logarithm of (X+1).

System.BuiltInLog10
Calculates log base 10.

System.BuiltInLog2
Calculates log base 2.

System.BuiltInSin
Calculates the sine of the angle.

System.BuiltInSqrt
Calculates the square root of X.

System.BuiltInTan
Calculates the tangent of X.

Especially since this compiles fine with the DCC32 compiler:

program CompilerIntrinsicsConsoleProject;

{$APPTYPE CONSOLE}

{$R *.res}

var
I, J, K: Integer;
begin
System.AtomicCmpExchange(I, J, K);
System.AtomicDecrement(I);
System.AtomicExchange(I, J);
System.AtomicIncrement(J);
end.

–jeroen

Comments are closed.