fpc/tests/test/tprec6.pp
Jonas Maebe 1f42ee201b + support for bitpacked records, except for:
* rtti
    * typed constants

git-svn-id: trunk@4489 -
2006-08-23 15:44:13 +00:00

29 lines
880 B
ObjectPascal

{ from gpc testsuite (martin3.pas) }
Program PackedAssignTest;
Uses uprec6;
Var I,J:Integer;
APackedBoolean:TPackedBoolean;
Begin
writeln(sizeof(APackedBoolean[0]));
writeln(sizeof(APackedBoolean[1]));
// writeln(ptruint(@APackedBoolean[1])-ptruint(@APackedBoolean[0]));
// writeln(ptruint(@APackedBoolean[2])-ptruint(@APackedBoolean[1]));
// writeln(ptruint(@APackedBoolean[3])-ptruint(@APackedBoolean[2]));
for I := 1 to MaxA do
for J := 1 to MaxB do
APackedBoolean[I, J] := J = I + 1;
ARecord.C:=99;
ARecord.D:=100;
ARecord.PackedBoolean:=APackedBoolean;
for I := 1 to MaxA do
for J := 1 to MaxB do
if ARecord.PackedBoolean[I, J] <> (J = I + 1) then
Begin
WriteLn ('failed ', I, ' ', J);
Halt(1);
end;
if (ARecord.D = 100) and (ARecord.C = 99) then WriteLn ('OK') else begin WriteLn ('failed 2'); halt(2) end;
end.