----Original Message----
>From: Olivier Hainque
>Sent: 26 April 2005 14:25
> "a long double member within a structure or union shall start at the
> lowest available offset aligned on a 16byte boundary"
>
> Now, I'm a bit unclear on the meaning of the ABI statement quoted above,
> and on the real implications this should have in the compiler.
>
> Does it imply that a long double field *address* should always be a
> multiple of 16, or just that the *offset* should be such a multiple ?
It only implies that the offset should be such a multiple, but since the
struct itself will have to be aligned to a multiple of 16 if any of its
members have to be aligned to a multiple of 16 (at least according to the C
language rules), it works out the same: the base address is aligned, the
offset is aligned because of the paragraph above, so the actual member
address (offset + base) is also aligned.
cheers,
DaveK
--
Can't think of a witty .sigline today....