fpc/tests/test/tatomic8.pp

35 lines
671 B
ObjectPascal

{ %NORUN }
program tatomic8;
{$mode objfpc}
procedure AvoidHint(aArg: array of Boolean);
begin
end;
var
l: LongInt;
b: Boolean;
bb: ByteBool;
wb: WordBool;
lb: LongBool;
qb: QWordBool;
b8: Boolean8;
b16: Boolean16;
b32: Boolean32;
b64: Boolean64;
begin
l := 0;
AtomicCmpExchange(l, 42, 84, b);
AtomicCmpExchange(l, 42, 84, bb);
AtomicCmpExchange(l, 42, 84, wb);
AtomicCmpExchange(l, 42, 84, lb);
AtomicCmpExchange(l, 42, 84, qb);
AtomicCmpExchange(l, 42, 84, b8);
AtomicCmpExchange(l, 42, 84, b16);
AtomicCmpExchange(l, 42, 84, b32);
AtomicCmpExchange(l, 42, 84, b64);
AvoidHint([b, bb, wb, lb, qb, b8, b16, b32, b64]);
end.