mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-11 22:08:18 +02:00
116 lines
2.0 KiB
ObjectPascal
116 lines
2.0 KiB
ObjectPascal
program tb0655;
|
|
|
|
uses
|
|
Variants;
|
|
|
|
var
|
|
s8: Int8 = $12;
|
|
u8: UInt8 = $98;
|
|
s16: Int16 = $1234;
|
|
u16: UInt16 = $9876;
|
|
s32: Int32 = $12345768;
|
|
u32: UInt32 = $98765432;
|
|
s64: Int64 = $1234567812345678;
|
|
u64: UInt64 = UInt64($9876543298765432);
|
|
v: Variant;
|
|
ov: OleVariant;
|
|
begin
|
|
v := s8;
|
|
if VarType(v) <> varShortInt then
|
|
Halt(1);
|
|
if Int8(v) <> s8 then
|
|
Halt(2);
|
|
|
|
v := u8;
|
|
if VarType(v) <> varByte then
|
|
Halt(3);
|
|
if UInt8(v) <> u8 then
|
|
Halt(4);
|
|
|
|
v := s16;
|
|
if VarType(v) <> varSmallInt then
|
|
Halt(5);
|
|
if Int16(v) <> s16 then
|
|
Halt(6);
|
|
|
|
v := u16;
|
|
if VarType(v) <> varWord then
|
|
Halt(7);
|
|
if UInt16(v) <> u16 then
|
|
Halt(8);
|
|
|
|
v := s32;
|
|
if VarType(v) <> varInteger then
|
|
Halt(9);
|
|
if Int32(v) <> s32 then
|
|
Halt(10);
|
|
|
|
v := u32;
|
|
if VarType(v) <> varLongWord then
|
|
Halt(11);
|
|
if UInt32(v) <> u32 then
|
|
Halt(12);
|
|
|
|
v := s64;
|
|
if VarType(v) <> varInt64 then
|
|
Halt(13);
|
|
if Int64(v) <> s64 then
|
|
Halt(14);
|
|
|
|
v := u64;
|
|
if VarType(v) <> varUInt64 then
|
|
Halt(15);
|
|
if UInt64(v) <> u64 then
|
|
Halt(16);
|
|
|
|
{ OleVariant has slightly different behaviour to Variant }
|
|
ov := s8;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(17);
|
|
if Int8(ov) <> s8 then
|
|
Halt(18);
|
|
|
|
ov := u8;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(19);
|
|
if UInt8(ov) <> u8 then
|
|
Halt(20);
|
|
|
|
ov := s16;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(21);
|
|
if Int16(ov) <> s16 then
|
|
Halt(22);
|
|
|
|
ov := u16;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(23);
|
|
if UInt16(ov) <> u16 then
|
|
Halt(24);
|
|
|
|
ov := s32;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(25);
|
|
if Int32(ov) <> s32 then
|
|
Halt(26);
|
|
|
|
ov := u32;
|
|
if VarType(ov) <> varInteger then
|
|
Halt(27);
|
|
{ ! }
|
|
if UInt32(Int32(ov)) <> u32 then
|
|
Halt(28);
|
|
|
|
ov := s64;
|
|
if VarType(ov) <> varInt64 then
|
|
Halt(29);
|
|
if Int64(ov) <> s64 then
|
|
Halt(30);
|
|
|
|
ov := u64;
|
|
if VarType(ov) <> varUInt64 then
|
|
Halt(31);
|
|
if UInt64(ov) <> u64 then
|
|
Halt(32);
|
|
end.
|