tparray18.pp 730 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. { from gpc tests, original name: bitfields.pas }
  2. {$ifdef fpc}
  3. {$bitpacking on}
  4. {$endif}
  5. Program BitFields;
  6. Var
  7. Foo: packed record
  8. b: 0..63;
  9. a: 0..1;
  10. end { Foo };
  11. r: packed array [ 40..47 ] of 0..1;
  12. F: Text;
  13. begin
  14. assign(f,'bitfields.txt');
  15. rewrite ( F );
  16. writeln ( F, '42' );
  17. writeln ( F, '0' );
  18. writeln ( F, '1' );
  19. with Foo do
  20. begin
  21. reset ( F );
  22. readln ( F, b );
  23. readln ( F, a );
  24. readln ( F, r [ 42 ] );
  25. close ( F );
  26. erase ( F );
  27. if ( b = 42 ) and ( a = 0 ) and ( r [ 42 ] = 1 ) then
  28. writeln ( 'OK' )
  29. else
  30. begin
  31. writeln ( 'failed: ', b, ' ', a, ' ', r [ 42 ] );
  32. halt(1);
  33. end;
  34. end { with };
  35. end.