1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- { %fail }
- { currently fails under FPC, because parameters to read(ln) have to be }
- { var parameters, and you cannot pass bitpacked record fields and array }
- { elements as var parameters }
- { from gpc tests, original name: bitfields.pas }
- {$ifdef fpc}
- {$bitpacking on}
- {$endif}
- Program BitFields;
- Var
- Foo: packed record
- b: 0..63;
- a: 0..1;
- end { Foo };
- r: packed array [ 40..47 ] of 0..1;
- F: Text;
- begin
- assign(f,'bitfields.txt');
- rewrite ( F );
- writeln ( F, '42' );
- writeln ( F, '0' );
- writeln ( F, '1' );
- with Foo do
- begin
- reset ( F );
- readln ( F, b );
- readln ( F, a );
- readln ( F, r [ 42 ] );
- close ( F );
- erase ( F );
- if ( b = 42 ) and ( a = 0 ) and ( r [ 42 ] = 1 ) then
- writeln ( 'OK' )
- else
- begin
- writeln ( 'failed: ', b, ' ', a, ' ', r [ 42 ] );
- halt(1);
- end;
- end { with };
- end.
|