summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/test/tparray11.pp
blob: cf7ab46955bd9007d289bacd8d2449fd1ce5a5d4 (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
{$bitpacking on}

{ from gpc testsuite (sam7.pas) }

Program Sam7;

Var
  foo: array [ 'a'..'f' ] of Boolean = ( false, false, true, false, false, false );
  bar: packed array [ 42..47 ] of Boolean;
  baz: array [ '0'..'5' ] of Boolean;
  i: Integer;

begin
  pack ( foo, 'a', bar );
  unpack ( bar, baz, '0' );
  for i:= 0 to 5 do
    if bar [ 42 + i ] <> baz [ chr ( ord('0')+ i ) ] then
      foo [ 'c' ]:= false;
  if foo [ 'c' ] and bar [ 44 ] then
    writeln ( 'OK' )
  else
    begin
      writeln ( 'failed ', foo [ 'c' ], ' ', bar [ 44 ] );
      halt(1);
    end;
end.