tprec13.pp 676 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. { from gpc tests, original name pack1.pas }
  2. {$ifdef fpc}
  3. {$bitpacking on}
  4. {$endif}
  5. Program Pack1;
  6. Var
  7. r: packed record
  8. a, b: Boolean;
  9. c: false..true;
  10. d: 0..3;
  11. e: -3..3;
  12. i: Integer;
  13. end { r };
  14. rb: Byte absolute r;
  15. var
  16. i: integer;
  17. begin
  18. rb:= 0;
  19. with r do
  20. begin
  21. a:= false;
  22. b:= true;
  23. c:= false;
  24. d:= 2;
  25. e:= -1;
  26. end { with };
  27. if ( SizeOf ( r ) = 1 + SizeOf (Integer) ) and ( rb = {$ifdef FPC_BIG_ENDIAN} %01010111 {$else} %11110010 {$endif} ) then
  28. writeln ( 'OK' )
  29. else
  30. begin
  31. writeln ( 'failed ', SizeOf (r), ' ', SizeOf (Integer), ' ', rb );
  32. halt(1);
  33. end;
  34. end.