Code: Select all
Structure[.type>] <name> [Extends <name>]
Structure.Q mystruct would start on at least a 64-bit boundary
Structure.L mystruct would start on at least a 32-bit boundary
Structure.I mystruct would start on at least a 64-bit boundary on 64-bit CPUs and at least a 32-bit boundary otherwise.
There would be an additional feature: the end of the structure would automatically be padded with nulls so that it also had [at least] the same boundary alignment as the start of the structure.
Thus
Code: Select all
Structure.q mystruct
length.w
height.w
depth.a
endStructure
The absence of a <type> would default to the current PB4.40 boundaries and if the Extends keyword was present, <type> would be ignored for the start of the structure, but honoured for the end of the structure.