HP Pascal/iX Programmer's Guide (31502-90023)
5-: 17
A record that is defined:
p_rec2 = PACKED RECORD {4-byte-aligned}
a,b : Boolean;
c : char;
d : integer;
e : Boolean;
END;
is allocated and aligned this way:
A record that is defined:
TYPE
c_rec1 = CRUNCHED RECORD
a,b : Boolean;
c : char;
d : minint..maxint;
e : Boolean
END;
Or:
TYPE
c_rec2 = CRUNCHED RECORD
a,b : Boolean;
c : char;
d : integer;
e : Boolean
END;
is allocated and aligned this way:
The bits containing question marks are not allocated if the type is used
inside another crunched structure.
Crunched Sets
Table 5-6 shows how the HP Pascal packing algorithm allocates and
aligns a crunched set when it is the element of an array or the field of
a record.