1{$bitpacking on} 2 3type 4 tenum = (ea,eb,ec,ed,ee,ef,eg,eh); 5 tr = packed record 6 a: 0..3; // 2 bits 7 i: int64; 8 c: boolean; // 1 bit 9 d: 0..31; // 5 bits 10 e: tenum; // 3 bits 11 end; 12 13procedure t(var r2: tr); 14var 15 r: tr; 16begin 17 r.a := 2; 18 r.i := 1234567890123456789; 19 r.c := true; 20 r.d := 5; 21 r.e := ed; 22 r2 := r; 23end; 24 25var 26 r: tr; 27 28begin 29 t(r); 30 if (r.a <> 2) or 31 (r.i <> 1234567890123456789) or 32 (not r.c) or 33 (r.d <> 5) or 34 (r.e <> ed) then 35 halt(1); 36end. 37