blob: 656413b206447b2d1897f4c760d1dd80347ec15a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
{ 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.
|